{"id":919121,"date":"2020-07-08T11:11:19","date_gmt":"2020-07-08T18:11:19","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=919121"},"modified":"2024-05-13T09:57:29","modified_gmt":"2024-05-13T16:57:29","slug":"deep-learning-models-in-arcgis-learn","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn","title":{"rendered":"Deep learning models in arcgis.learn"},"author":6911,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341],"tags":[387782,174212,186132,679231,24341],"industry":[],"product":[36841],"class_list":["post-919121","blog","type-blog","status-publish","format-standard","hentry","category-analytics","tag-arcgis-api-for-python","tag-artificial-intelligence","tag-deep-learning","tag-esri-uc-2020","tag-python","product-api-python"],"acf":{"short_description":"An overview of the deep learning models in the ArcGIS API for Python\u2019s arcgis.learn module.","flexible_content":[{"acf_fc_layout":"content","content":"<p><a href=\"https:\/\/www.esri.com\/en-us\/artificial-intelligence\/overview\">Artificial Intelligence (AI)<\/a> has arrived. It is not science fiction anymore. Computers already recognize objects in images and understand speech and language at least as well as, if not better than, humans. This has been made possible with rapid advances in hardware, vast amounts of training data, and innovations in machine learning algorithms such as deep neural networks. Deep learning is the driving force behind the current AI revolution and is giving <em>intelligence<\/em> to today&#8217;s self-driving cars, smartphone and smart speakers, and making deep inroads into radiology and even gaming. <a href=\"https:\/\/www.esri.com\/about\/newsroom\/arcwatch\/where-deep-learning-meets-gis\/\">GIS and Remote Sensing is no different<\/a> \u2013 many tasks that were done using traditional means can be done more accurately than ever, using deep learning.<\/p>\n<p><strong>So&#8230; what is deep learning?<\/strong><\/p>\n<p>Deep learning is a machine learning technique that uses deep neural networks to learn by example. Just like traditional supervised image classification, these models rely upon training samples to &#8220;learn&#8221; what to look for. However, unlike traditional segmentation and classification, deep learning models don&#8217;t just look at individual pixels or groups of pixels. They have higher learning capacity and can learn to recognize complex shapes, patterns and textures at various scales within images. This enables deep learning models to learn from vast amounts of training data in varying conditions. The trained models can then be applied to a wide variety of images at a much lower computational cost and be reused by others.<\/p>\n<p><strong>Deep learning in ArcGIS<\/strong><\/p>\n<p>One of the things I\u2019m very excited about is the rapidly growing support for deep learning in the ArcGIS. The Image Analyst extension in ArcGIS Pro includes a <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/tool-reference\/image-analyst\/an-overview-of-the-deep-learning-toolset-in-image-analyst.htm\">Deep Learning toolset<\/a> built just for analysts. A simplified deep learning installer packages the necessary dependencies and simplifies the experience. Data scientists can use Python notebooks in ArcGIS Pro, Enterprise and Online to train these models.<\/p>\n<p>ArcGIS API for Python includes the <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html\"><strong>arcgis.learn module<\/strong><\/a> that makes it simple to train a wide variety of deep learning models on your own datasets and \u00a0solve complex problems. It includes over fifteen deep learning models that support advanced GIS and remote sensing workflows. Additionally, these models support a variety of data types \u2013 overhead and oriented imagery, point clouds, bathymetric data, LiDAR, video, feature layers. tabular data and even unstructured text.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1160502,"id":1160502,"title":"Training a model using arcgis.learn","filename":"train.png","filesize":512026,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/train","alt":"Training a model using arcgis.learn","author":"6911","description":"Training deep learning model using arcgis.learn is a simple  affair","caption":"Training deep learning models using arcgis.learn","name":"train","status":"inherit","uploaded_to":919121,"date":"2021-03-12 08:08:42","modified":"2021-03-12 08:09:57","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":980,"height":951,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","medium-width":269,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","medium_large-width":768,"medium_large-height":745,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","large-width":980,"large-height":951,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","1536x1536-width":980,"1536x1536-height":951,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","2048x2048-width":980,"2048x2048-height":951,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train-479x465.png","card_image-width":479,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/train.png","wide_image-width":980,"wide_image-height":951}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>All models in the arcgis.learn module can be trained with a simple, consistent API and intelligent defaults. The models consume exported training data from ArcGIS with no messy pre-processing, and the trained models are directly usable in ArcGIS without needing post-processing of the model\u2019s output. ArcGIS automatically handles the necessary image space to map space conversion.<\/p>\n<p>In this blog post, let\u2019s look at how the deep learning models in arcgis.learn can be tapped into, to perform various GIS and remote sensing tasks.<\/p>\n<p>Let\u2019s start with imagery tasks. One area where deep learning has done exceedingly well is computer vision, or the ability for computers to see, or recognize objects within images. This is particularly useful for GIS applications because satellite, aerial, and drone imagery is being produced at a rate that makes it impossible to analyze and derive insight from.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>1. Object Classification<\/h2>\n<p>The <strong><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#featureclassifier\">FeatureClassifier<\/a> <\/strong>model in arcgis.learn can be used to classify geographical features or objects based on how they appear within \u00a0imagery. For those of you who are familiar with deep learning, this leverages image classification models like ResNet, Inception or VGG.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":581662,"id":581662,"title":"Damage assessment using object classification. Damaged houses are shown in red and undamaged ones in blue.","filename":"showingaccuracyinpro.gif","filesize":2060931,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/imagery\/damage-assessment-using-deep-learning-in-arcgis\/showingaccuracyinpro","alt":"Inference results","author":"8452","description":"","caption":"Damage assessment using object classification. Damaged houses are shown in red and undamaged ones in blue.\n","name":"showingaccuracyinpro","status":"inherit","uploaded_to":581342,"date":"2019-08-07 17:01:15","modified":"2020-07-09 04:10:35","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":600,"height":320,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","medium-width":464,"medium-height":247,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","medium_large-width":600,"medium_large-height":320,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","large-width":600,"large-height":320,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","1536x1536-width":600,"1536x1536-height":320,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","2048x2048-width":600,"2048x2048-height":320,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","card_image-width":600,"card_image-height":320,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/showingaccuracyinpro.gif","wide_image-width":600,"wide_image-height":320}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>In GIS, such models can be used to perform <a href=\"https:\/\/www.esri.com\/about\/newsroom\/arcuser\/improving-disaster-response-with-deep-learning-in-arcgis\/\">automated damage assessment<\/a> after wildfires or classifying <a href=\"https:\/\/medium.com\/geoai\/swimming-pool-detection-and-classification-using-deep-learning-aaf4a3a5e652\">swimming pools as clean or algae-infested <em>green<\/em> pools<\/a>.<\/p>\n<p>A sample notebook outlining the damage assessment workflow can be found <a href=\"https:\/\/developers.arcgis.com\/python\/sample-notebooks\/building-damage-assessment-using-feature-classifier\/\">here<\/a>.<\/p>\n<p>In addition to being applied to satellite imagery, this model can be used out in the field for data collection workflows. In the example below, a <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/train_a_tensorflow-lite_model_for_identifying_plant_species.ipynb\">plant species identification<\/a> model is being used to perform a tree inventory using Survey123 and it&#8217;s support for integrating such TensorFlow Lite models (currently in beta).<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":923941,"id":923941,"title":"Automated plant species identification for field data collection","filename":"plantclef-e1594266331923.png","filesize":232246,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/plantclef","alt":"Automated plant species identification for field data collection","author":"6911","description":"Automated plant species identification for field data collection","caption":"Automated plant species identification for field data collection","name":"plantclef","status":"inherit","uploaded_to":919121,"date":"2020-07-08 17:11:53","modified":"2020-07-08 17:15:17","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":300,"height":623,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","medium-width":126,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","medium_large-width":300,"medium_large-height":623,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","large-width":300,"large-height":623,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","1536x1536-width":300,"1536x1536-height":623,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","2048x2048-width":300,"2048x2048-height":623,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-224x465.png","card_image-width":224,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/plantclef-e1594266331923.png","wide_image-width":300,"wide_image-height":623}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>2. Pixel Classification<\/h2>\n<p>The next task we\u2019ll look at is Pixel Classification \u2013 where we label each pixel in an image.<\/p>\n<p>Known as \u00a0\u2018<em>semantic segmentation<\/em>\u2019 in the deep learning world, pixel classification comes to you in the ArcGIS Python API with the time-tested <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-unet-works\/\"><strong>UnetClassifier<\/strong><\/a> model and more recent models like <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-pspnet-works\/\"><strong>PSPNetClassifier<\/strong><\/a> and <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-deeplabv3-works\/\"><strong>DeepLab<\/strong><\/a> (v3).<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":923981,"id":923981,"title":"Building footprints extracted using arcgis.learn's UnetClassifier model","filename":"buildingfootprint.jpg","filesize":199564,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/buildingfootprint","alt":"Building footprints extracted using arcgis.learn's UnetClassifier model","author":"6911","description":"Building footprints extracted using arcgis.learn's UnetClassifier model ","caption":"Building footprints extracted using arcgis.learn's UnetClassifier model ","name":"buildingfootprint","status":"inherit","uploaded_to":919121,"date":"2020-07-08 17:16:15","modified":"2020-07-08 17:16:42","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1065,"height":691,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","medium-width":402,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","medium_large-width":768,"medium_large-height":498,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","large-width":1065,"large-height":691,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","1536x1536-width":1065,"1536x1536-height":691,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","2048x2048-width":1065,"2048x2048-height":691,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint-717x465.jpg","card_image-width":717,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildingfootprint.jpg","wide_image-width":1065,"wide_image-height":691}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>These models can be used for <a href=\"https:\/\/developers.arcgis.com\/python\/sample-notebooks\/extracting-building-footprints-from-drone-data\/\">extracting building footprints<\/a> and roads from satellite imagery, or performing land cover classification.\u00a0 In the example above, training the deep learning model took only a few simple steps, but the results are a treat to see.<\/p>\n<p><a href=\"https:\/\/developers.arcgis.com\/python\/sample-notebooks\/land-cover-classification-using-unet\/\">This sample notebook<\/a> uses the <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#unetclassifier\">UnetClassifier<\/a> model trained on high-resolution land cover data provided by the Chesapeake Conservancy. \u00a0While it works well, it can be time consuming and expensive to get each pixel labeled within such high-quality training data by human annotators.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":924001,"id":924001,"title":"Land cover classification using sparsely labeled data","filename":"sparse.png","filesize":162187,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/sparse","alt":"Land cover classification using sparsely labeled data","author":"6911","description":"Land cover classification using sparsely labeled data","caption":"Land cover classification using sparsely labeled data","name":"sparse","status":"inherit","uploaded_to":919121,"date":"2020-07-08 17:18:01","modified":"2020-07-08 17:18:23","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1005,"height":698,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","medium-width":376,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","medium_large-width":768,"medium_large-height":533,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","large-width":1005,"large-height":698,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","1536x1536-width":1005,"1536x1536-height":698,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","2048x2048-width":1005,"2048x2048-height":698,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse-670x465.png","card_image-width":670,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/sparse.png","wide_image-width":1005,"wide_image-height":698}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This is where the additional support that we\u2019ve introduced into the Python API can be leveraged for training such models using <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/land_cover_classification_using_sparse_training_data.ipynb\">sparsely labeled data<\/a>. \u00a0Here we only need to label a few areas as belonging to each land cover class. We can then train a pixel classification model to find the land cover for each pixel in the image.<\/p>\n<h2>3. Object Detection<\/h2>\n<p>Time to check out another important task in GIS \u2013 finding specific objects in an image and marking their location with a bounding box. Better known as object detection, these models can detect <a href=\"https:\/\/learn.arcgis.com\/en\/projects\/use-deep-learning-to-assess-palm-tree-health\/\">trees<\/a>, <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/object-detection\/\">well pads<\/a>, <a href=\"https:\/\/developers.arcgis.com\/python\/sample-notebooks\/detecting-swimming-pools-using-satellite-image-and-deep-learning\/\">swimming pools<\/a>, <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/shipwrecks_detection_using_bathymetric_data.ipynb\">brick kilns<\/a>, <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/shipwrecks_detection_using_bathymetric_data.ipynb\">shipwrecks<\/a> from bathymetric data and much more. The arcgis.learn module includes several object detection models such as <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-ssd-works\/\"><strong>SingleShotDetector<\/strong><\/a>, <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-retinanet-works\/\"><strong>RetinaNet<\/strong><\/a><strong>, <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#yolov3\">YOLOv3<\/a><\/strong> and <strong><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#fasterrcnn\">FasterRCNN<\/a><\/strong>.<\/p>\n<p>FasterRCNN is the most accurate model but is slower to train and perform inferencing. SingleShotDetector and RetinaNet are faster models as they use a <a href=\"https:\/\/www.jeremyjordan.me\/object-detection-one-stage\/\">one-stage approach<\/a> for detecting objects as opposed to the two-stage approach used by FasterRCNN.<\/p>\n<p>YOLOv3 is the newest object detection model in the arcgis.learn family. It\u2019s fast and accurate at detecting small objects, and what\u2019s great is that it\u2019s the first model in arcgis.learn that comes pre-trained on 80 common types of objects in the Microsoft Common Objects in Content (COCO) dataset.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":924231,"id":924231,"title":"Detected catfish in full motion video captured from drone","filename":"catfish_pro.jpg","filesize":124009,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/catfish_pro","alt":"Detected catfish in full motion video captured from drone","author":"6911","description":"Detected catfish in full motion video captured from drone","caption":"Detected catfish in full motion video captured from drone","name":"catfish_pro","status":"inherit","uploaded_to":919121,"date":"2020-07-08 17:40:47","modified":"2020-07-08 17:42:17","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1744,"height":947,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro.jpg","medium-width":464,"medium-height":252,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro.jpg","medium_large-width":768,"medium_large-height":417,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro.jpg","large-width":1744,"large-height":947,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro-1536x834.jpg","1536x1536-width":1536,"1536x1536-height":834,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro.jpg","2048x2048-width":1744,"2048x2048-height":947,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro-826x449.jpg","card_image-width":826,"card_image-height":449,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/catfish_pro.jpg","wide_image-width":1744,"wide_image-height":947}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Don\u2019t think you are limited to just images &#8211; these models even detect objects in videos! Take a look at locating <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/developer-summit-2020-use-deep-learning-tools-with-full-motion-video\/\">catfish in drone videos<\/a> or <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/automate_road_surface_investigation_using_deep_learning.ipynb\">cracks on roads<\/a> given vehicle-mounted smartphone videos.<\/p>\n<p>Next, let\u2019s look at a <em>different kind<\/em> of Object Detection. Now we\u2019re going to detect and locate objects not just with a bounding box, but with a precise polygonal boundary or raster mask covering that object. In the deep learning world, we call this task \u2018<em>instance segmentation<\/em>\u2019 because the task involves finding each instance of an object and segmenting it.<\/p>\n<p>The most popular model for this is <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-maskrcnn-works\/\"><strong>MaskRCNN<\/strong><\/a>, and arcgis.learn puts it in your grasp. See it in action in the <a href=\"https:\/\/developers.arcgis.com\/python\/sample-notebooks\/automate-building-footprint-extraction-using-instance-segmentation\/\">building footprint extraction<\/a> sample, which highlights how the model is particularly suited for finding buildings, especially when they are right next to each other.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":276262,"id":276262,"title":"","filename":"image13.png","filesize":101993,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/3d-gis\/restoring-3d-buildings-from-aerial-lidar-with-help-of-ai\/image13-2","alt":"","author":"6311","description":"","caption":"3D reconstruction of building made from masks produced by MaskRCNN","name":"image13-2","status":"inherit","uploaded_to":276082,"date":"2018-07-10 20:17:29","modified":"2020-07-08 18:05:31","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":560,"height":353,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","thumbnail-width":213,"thumbnail-height":134,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","medium-width":414,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","medium_large-width":560,"medium_large-height":353,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","large-width":560,"large-height":353,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","1536x1536-width":560,"1536x1536-height":353,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","2048x2048-width":560,"2048x2048-height":353,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","card_image-width":560,"card_image-height":353,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/image13.png","wide_image-width":560,"wide_image-height":353}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>We\u2019ve also used MaskRCNN to <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/building_reconstruction_using_mask_rcnn.ipynb\">reconstruct 3D buildings<\/a> from aerial LiDAR data. Don\u2019t miss this sample.<\/p>\n<h2>4. Point Cloud Segmentation<\/h2>\n<p>Talking about 3D, we now have support for true 3D deep learning in the arcgis.learn module.<\/p>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/point-cloud-segmentation-using-pointcnn\/\"><strong>PointCNN<\/strong><\/a> model can be used for point cloud segmentation. In this task, each point in the point cloud is assigned a label, representing a real-world entity.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":927201,"id":927201,"title":"3D scene created by classifying buildings and trees in point cloud","filename":"buildings_trees.png","filesize":52259,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/buildings_trees","alt":"3D scene created by classifying buildings and trees in point cloud","author":"6911","description":"3D scene created by classifying buildings and trees in point cloud","caption":"3D scene created by classifying buildings and trees in point cloud using PointCNN model.","name":"buildings_trees","status":"inherit","uploaded_to":919121,"date":"2020-07-09 03:49:52","modified":"2020-07-09 03:52:25","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":612,"height":449,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","medium-width":356,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","medium_large-width":612,"medium_large-height":449,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","large-width":612,"large-height":449,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","1536x1536-width":612,"1536x1536-height":449,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","2048x2048-width":612,"2048x2048-height":449,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","card_image-width":612,"card_image-height":449,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/buildings_trees.png","wide_image-width":612,"wide_image-height":449}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This model can be used to create 3D basemaps by extracting buildings, ground and trees from raw point clouds. Another example is\u00a0 <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/3d-gis\/dev-summit-2020-use-ai-to-extract-data-from-lidar-point-clouds\/\">extracting power lines and utility poles<\/a> from airborne LiDAR point cloud. Previously, this was the most labor-intensive part of identifying an electric utility line\u2019s safety corridor for monitoring vegetation and encroachments.<\/p>\n<h2>5. Image Enhancement<\/h2>\n<p>So far, we\u2019ve seen several examples of extracting information from imagery and point clouds, but I\u2019m <em>really<\/em> excited to tell you about synthesizing better data from poor quality data. \u00a0The <strong><a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#superresolution\">SuperResolution<\/a><\/strong> model in arcgis.learn does just that, and can be used to improve not just the visualization of imagery but also improve image interpretability.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":924601,"id":924601,"title":"SuperResolution on aerial imagery","filename":"superres.png","filesize":58705,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/superres","alt":"SuperResolution on aerial imagery","author":"6911","description":"SuperResolution on aerial imagery","caption":"SuperResolution on aerial imagery","name":"superres","status":"inherit","uploaded_to":919121,"date":"2020-07-08 18:28:26","modified":"2020-07-08 18:28:59","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":899,"height":499,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","medium-width":464,"medium-height":258,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","medium_large-width":768,"medium_large-height":426,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","large-width":899,"large-height":499,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","1536x1536-width":899,"1536x1536-height":499,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","2048x2048-width":899,"2048x2048-height":499,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres-826x458.png","card_image-width":826,"card_image-height":458,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/superres.png","wide_image-width":899,"wide_image-height":499}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This model brings \u201cZoom in\u2026 Enhance\u201d from Hollywood to ArcGIS! It can take low resolution and blurred images as input and turn them into stunning high quality, high resolution images. The model adds realistic texture and details, and produces simulated high resolution imagery. Don\u2019t\u2019 just take my word for it, check out the screenshot above and the <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/master\/samples\/04_gis_analysts_data_scientists\/increase-image-resolution-using-superresolution.ipynb\">sample notebook<\/a> that does this magic.<\/p>\n<h2>6. Classification and Regression on Tabular Data<\/h2>\n<p>Now you might be thinking that deep learning only works on imagery and 3d data, but that\u2019s just not true. Deep neural networks work equally well on feature layers and tabular data.<\/p>\n<p>The <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/a088e824a08a010388decc09dd9106b70b89c2f7\/guide\/14-deep-learning\/FCN_MLModel_guide-final_draft.ipynb\"><strong>FullyConnectedNetwork<\/strong><\/a> model feeds feature layer or raster data into <a href=\"https:\/\/www.oreilly.com\/library\/view\/tensorflow-for-deep\/9781491980446\/ch04.html#:~:text=What%20Is%20a%20Fully%20Connected,depends%20on%20each%20input%20dimension.\">a fully connected deep neural network<\/a>. These models can classify areas susceptible to a disease based on bioclimatic factors or <a href=\"https:\/\/github.com\/Esri\/arcgis-python-api\/blob\/7a3b38b76b5e6e5299e00fc8b4eee50b938b2f75\/samples\/04_gis_analysts_data_scientists\/solar_energy_prediction11_calgary_tabular_learner.ipynb\">predict the efficiency of solar power plants<\/a> based on weather factors.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":924611,"id":924611,"title":"Actual vs predicted Solar Energy generation","filename":"mlmfcn.png","filesize":39423,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\/mlmfcn","alt":"Actual vs predicted Solar Energy generation","author":"6911","description":"Actual vs predicted Solar Energy generation","caption":"Actual vs predicted Solar Energy generation","name":"mlmfcn","status":"inherit","uploaded_to":919121,"date":"2020-07-08 18:30:02","modified":"2020-07-08 18:30:34","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":736,"height":163,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn-213x163.png","thumbnail-width":213,"thumbnail-height":163,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","medium-width":464,"medium-height":103,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","medium_large-width":736,"medium_large-height":163,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","large-width":736,"large-height":163,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","1536x1536-width":736,"1536x1536-height":163,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","2048x2048-width":736,"2048x2048-height":163,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","card_image-width":736,"card_image-height":163,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/mlmfcn.png","wide_image-width":736,"wide_image-height":163}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>In the plot above the blue line indicates actual solar power generation and the orange line shows the predicted values from the FullyConnectedNetwork model.<\/p>\n<h2>7. Entity Extraction from Unstructured Text<\/h2>\n<p>Geospatial data doesn\u2019t always come neatly packaged in the form of file geodatabases and shapefiles. Often it\u2019s hidden away in an unstructured format, such as text-based reports. To use this data for spatial analysis, you need to convert it into a structured, standardized format such as feature layers. However, it is difficult and time consuming to read and convert unstructured text.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":765481,"id":765481,"title":"Crime incident report with labelled entities","filename":"labelling.png","filesize":24599,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/dev-summit-2020-extract-and-map-data-from-unstructured-text\/labelling","alt":"Crime incident report labelled to show entities that should be extracted","author":"6911","description":"Crime incident report with labelled entities describing the type of crime, where it occurred, time of incident and reporting, etc. Doccano, an open source text annotation tool was used to label the entities in a small subset of the reports. ","caption":"Crime incident report with labelled entities, highlighting entities such as the type of crime, where it occurred, time of incident and when it was reported.","name":"labelling","status":"inherit","uploaded_to":753761,"date":"2020-03-10 11:41:59","modified":"2020-03-10 12:32:25","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1085,"height":516,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","medium-width":464,"medium-height":221,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","medium_large-width":768,"medium_large-height":365,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","large-width":1085,"large-height":516,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","1536x1536-width":1085,"1536x1536-height":516,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","2048x2048-width":1085,"2048x2048-height":516,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling-826x393.png","card_image-width":826,"card_image-height":393,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/labelling.png","wide_image-width":1085,"wide_image-height":516}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Deep Learning has made a lot of progress in natural language processing and with the <a href=\"https:\/\/developers.arcgis.com\/python\/guide\/how-named-entity-recognition-works\/\"><strong>EntityRecognizer<\/strong><\/a> model in arcgis.learn you can extract meaningful \u00a0geospatial information from unstructured text.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":765501,"id":765501,"title":"Extracted Crime Incidents","filename":"madison_crime.png","filesize":296569,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/dev-summit-2020-extract-and-map-data-from-unstructured-text-2\/madison_crime","alt":"Crime points","author":"6911","description":"Crime points created from extracted locations","caption":"Feature layer of crime incidents","name":"madison_crime","status":"inherit","uploaded_to":765491,"date":"2020-03-10 12:13:41","modified":"2020-03-10 12:31:11","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":803,"height":570,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","medium-width":368,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","medium_large-width":768,"medium_large-height":545,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","large-width":803,"large-height":570,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","1536x1536-width":803,"1536x1536-height":570,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","2048x2048-width":803,"2048x2048-height":570,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime-655x465.png","card_image-width":655,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/madison_crime.png","wide_image-width":803,"wide_image-height":570}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><a href=\"https:\/\/developers.arcgis.com\/python\/sample-notebooks\/information-extraction-from-madison-city-crime-incident-reports-using-deep-learning\/\">This sample notebook<\/a> shows how we used this model to extract information from thousands of unstructured text files containing police reports from Madison, Wisconsin, and created a map of the crime locations.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>But, what about <em>that<\/em> model?<\/strong><\/p>\n<p>Now, you might be thinking that it\u2019s great that arcgis.learn has support for so many models, but what about that latest and greatest deep learning model that just came out last week? Don\u2019t worry\u2026 we\u2019ve got you covered!<\/p>\n<p>We\u2019re adding extensibility support to arcgis.learn so you can integrate external models. The <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#modelextension\"><strong>ModelExtension<\/strong><\/a> class allows you to bring in any object detection model (pixel classification is next in the pipeline) and integrate it with arcgis.learn. The model is then able to directly use training data exported by ArcGIS and the saved models are ready to use as ArcGIS deep learning packages. Integrating external models with arcgis.learn will help you train such models with the same simple and consistent API used by the other models.<\/p>\n<p>Additionally, arcgis.learn lets you integrate ArcGIS with <em>any<\/em> prediction or classification model from the popular scikit-learn library using the new <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.learn.html#mlmodel\"><strong>MLModel<\/strong><\/a> class.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Why are there so many models?<\/strong><\/p>\n<p>Deep learning is a rapidly evolving field, with innovations and new models coming out each month \u2013 and we\u2019re keen on supporting and bringing forth these innovations to ArcGIS at an equally fast pace, giving you the latest and greatest models and enabling you to stay at the cutting edge in applying deep learning methods to GIS.<\/p>\n<p>Each model has its strengths and is better suited for particular tasks. Taking Object Detection for example, FasterRCNN gives the best results, YOLOv3 is the fastest, SingleShotDetector gives a good balance of speed and accuracy and\u00a0RetinaNet\u00a0works very well with small objects.<\/p>\n<p>Different models have differing requirements for memory, and differ in their speed of training and inferencing. Deeper neural networks in larger models give more accurate results but need more memory and longer training regimes. They also require larger datasets to train adequately. Some models are lightweight and better suited for deployment on mobile phones.<\/p>\n<p>Just as skilled craftsmen know about each tool in their toolbox, skilled data scientists understand each model based on its unique characteristics, and apply them in the context of the problem that needs to be solved.<\/p>\n<p><em>Attending the virtual Esri UC? We&#8217;ve put together a number of sessions on deep learning with ArcGIS to show you several of these models in action. Check out <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/product\/analytics\/deep-learning-at-the-esri-uc\/\">this blog post<\/a> to learn more!<\/em><\/p>\n<p>&nbsp;<\/p>\n"}],"authors":[{"ID":6911,"user_firstname":"Rohit","user_lastname":"Singh","nickname":"Rohit Singh","user_nicename":"rsinghesri-com","display_name":"Rohit Singh","user_email":"rsingh@esri.com","user_url":"","user_registered":"2018-03-02 00:19:00","user_description":"Rohit Singh is Director of Esri\u2019s R&amp;D Center in New Delhi, leading the design and development of Geospatial AI capabilities across the ArcGIS platform. He has played a key role in the development of ArcGIS API for Python, ArcGIS Java Engine API, and the Linux enablement of ArcGIS. An alumnus of IIT Kharagpur, Rohit holds an MS in Computer Science with specialization in AI from Georgia Tech.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/RohitSingh_AISummit2025-213x200.jpeg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/01\/deep-learning-at-uc-thumbnail.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/blog-uc-deep-learning1920.jpg"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deep learning models in arcgis.learn<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep learning models in arcgis.learn\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-13T16:57:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\"},\"author\":{\"name\":\"Rohit Singh\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4e42a5f6b2ebc3d752806b83e53d44fa\"},\"headline\":\"Deep learning models in arcgis.learn\",\"datePublished\":\"2020-07-08T18:11:19+00:00\",\"dateModified\":\"2024-05-13T16:57:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\"},\"wordCount\":6,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS API for Python\",\"Artificial Intelligence\",\"deep learning\",\"Esri UC 2020\",\"python\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\",\"name\":\"Deep learning models in arcgis.learn\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-07-08T18:11:19+00:00\",\"dateModified\":\"2024-05-13T16:57:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep learning models in arcgis.learn\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4e42a5f6b2ebc3d752806b83e53d44fa\",\"name\":\"Rohit Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/RohitSingh_AISummit2025-213x200.jpeg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/RohitSingh_AISummit2025-213x200.jpeg\",\"caption\":\"Rohit Singh\"},\"description\":\"Rohit Singh is Director of Esri\u2019s R&amp;D Center in New Delhi, leading the design and development of Geospatial AI capabilities across the ArcGIS platform. He has played a key role in the development of ArcGIS API for Python, ArcGIS Java Engine API, and the Linux enablement of ArcGIS. An alumnus of IIT Kharagpur, Rohit holds an MS in Computer Science with specialization in AI from Georgia Tech.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/rohitgeo\",\"https:\/\/x.com\/geonumist\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/rsinghesri-com\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Deep learning models in arcgis.learn","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn","og_locale":"en_US","og_type":"article","og_title":"Deep learning models in arcgis.learn","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2024-05-13T16:57:29+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn"},"author":{"name":"Rohit Singh","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4e42a5f6b2ebc3d752806b83e53d44fa"},"headline":"Deep learning models in arcgis.learn","datePublished":"2020-07-08T18:11:19+00:00","dateModified":"2024-05-13T16:57:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn"},"wordCount":6,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS API for Python","Artificial Intelligence","deep learning","Esri UC 2020","python"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn","name":"Deep learning models in arcgis.learn","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-07-08T18:11:19+00:00","dateModified":"2024-05-13T16:57:29+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/api-python\/analytics\/deep-learning-models-in-arcgis-learn#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Deep learning models in arcgis.learn"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/4e42a5f6b2ebc3d752806b83e53d44fa","name":"Rohit Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/RohitSingh_AISummit2025-213x200.jpeg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/RohitSingh_AISummit2025-213x200.jpeg","caption":"Rohit Singh"},"description":"Rohit Singh is Director of Esri\u2019s R&amp;D Center in New Delhi, leading the design and development of Geospatial AI capabilities across the ArcGIS platform. He has played a key role in the development of ArcGIS API for Python, ArcGIS Java Engine API, and the Linux enablement of ArcGIS. An alumnus of IIT Kharagpur, Rohit holds an MS in Computer Science with specialization in AI from Georgia Tech.","sameAs":["https:\/\/www.linkedin.com\/in\/rohitgeo","https:\/\/x.com\/geonumist"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/rsinghesri-com"}]}},"text_date":"July 8, 2020","author_name":"Rohit Singh","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/rsinghesri-com","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/blog-uc-deep-learning1920.jpg","primary_product":"ArcGIS API for Python","tag_data":[{"term_id":387782,"name":"ArcGIS API for Python","slug":"arcgis-api-for-python","term_group":0,"term_taxonomy_id":387782,"taxonomy":"post_tag","description":"","parent":0,"count":44,"filter":"raw"},{"term_id":174212,"name":"Artificial Intelligence","slug":"artificial-intelligence","term_group":0,"term_taxonomy_id":174212,"taxonomy":"post_tag","description":"","parent":0,"count":22,"filter":"raw"},{"term_id":186132,"name":"deep learning","slug":"deep-learning","term_group":0,"term_taxonomy_id":186132,"taxonomy":"post_tag","description":"","parent":0,"count":65,"filter":"raw"},{"term_id":679231,"name":"Esri UC 2020","slug":"esri-uc-2020","term_group":0,"term_taxonomy_id":679231,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":24341,"name":"python","slug":"python","term_group":0,"term_taxonomy_id":24341,"taxonomy":"post_tag","description":"","parent":0,"count":171,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1329,"filter":"raw"}],"product_data":[{"term_id":36841,"name":"ArcGIS API for Python","slug":"api-python","term_group":0,"term_taxonomy_id":36841,"taxonomy":"product","description":"","parent":36601,"count":151,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=api-python","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/919121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/6911"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=919121"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/919121\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=919121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=919121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=919121"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=919121"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=919121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}