Counting Passenger Vehicles from Satellite Imagery

Similar documents
Presented at the FIG Congress 2018, May 6-11, 2018 in Istanbul, Turkey

Classification of objects from Video Data (Group 30)

Deep Learning for Remote Sensing

Edges and Binary Images

Biomedical Image Analysis. Mathematical Morphology

Rotation Invariance Neural Network

DEFECT INSPECTION FROM SCRATCH TO PRODUCTION. Andrew Liu, Ryan Shen Deep Learning Solution Architect

CMU Lecture 18: Deep learning and Vision: Convolutional neural networks. Teacher: Gianni A. Di Caro

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

Kaggle Data Science Bowl 2017 Technical Report

N.Priya. Keywords Compass mask, Threshold, Morphological Operators, Statistical Measures, Text extraction

Image Processing Fundamentals. Nicolas Vazquez Principal Software Engineer National Instruments

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

Vision Based Parking Space Classification

Lab 9. Julia Janicki. Introduction

Robbery Detection Camera

Morphological Image Processing

Human Motion Detection and Tracking for Video Surveillance

DEEP NEURAL NETWORKS FOR OBJECT DETECTION

Object Detection. Part1. Presenter: Dae-Yong

Convolutional Neural Networks. Computer Vision Jia-Bin Huang, Virginia Tech

Digital Image Processing COSC 6380/4393

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Files Used in This Tutorial. Background. Feature Extraction with Example-Based Classification Tutorial

Introduction to Deep Learning for Facial Understanding Part III: Regional CNNs

Application of Deep Learning Techniques in Satellite Telemetry Analysis.

NVIDIA DEEP LEARNING INSTITUTE

Demystifying Deep Learning

Automated Extraction of Buildings from Aerial LiDAR Point Cloud and Digital Imaging Datasets for 3D Cadastre - Preliminary Results

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

Detection of Edges Using Mathematical Morphological Operators

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

Morphological Image Processing

Character Recognition of High Security Number Plates Using Morphological Operator

Morphological Image Processing

A Deep Learning Approach to Vehicle Speed Estimation

Fuzzy Set Theory in Computer Vision: Example 3, Part II

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Deep Learning for Computer Vision II

Deep Convolutional Neural Networks. Nov. 20th, 2015 Bruce Draper

Extracting Layers and Recognizing Features for Automatic Map Understanding. Yao-Yi Chiang

Digital Image Processing

APPLICATION OF SOFTMAX REGRESSION AND ITS VALIDATION FOR SPECTRAL-BASED LAND COVER MAPPING

Deep Tracking: Biologically Inspired Tracking with Deep Convolutional Networks

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

CNNS FROM THE BASICS TO RECENT ADVANCES. Dmytro Mishkin Center for Machine Perception Czech Technical University in Prague

ENVI Automated Image Registration Solutions

Keywords: Thresholding, Morphological operations, Image filtering, Adaptive histogram equalization, Ceramic tile.

Spatial Localization and Detection. Lecture 8-1

Detection of Rooftop Regions in Rural Areas Using Support Vector Machine

ENVI. Get the Information You Need from Imagery.

NVIDIA DLI HANDS-ON TRAINING COURSE CATALOG

Deep Learning for Computer Vision with MATLAB By Jon Cherrie

POINT CLOUD DEEP LEARNING

Deep Learning with Tensorflow AlexNet

The. Handbook ijthbdition. John C. Russ. North Carolina State University Materials Science and Engineering Department Raleigh, North Carolina

CNN Basics. Chongruo Wu

Fully Convolutional Networks for Semantic Segmentation

T O B C A T C A S E E U R O S E N S E D E T E C T I N G O B J E C T S I N A E R I A L I M A G E R Y

Learning Semantic Video Captioning using Data Generated with Grand Theft Auto

IMAGINE Objective. The Future of Feature Extraction, Update & Change Mapping

What s New in Imagery in ArcGIS. Presented by: Christopher Patterson Date: October 18, 2017

Image Processing, Analysis and Machine Vision

Deep learning for object detection. Slides from Svetlana Lazebnik and many others

Morphological Image Processing

Exelis Visual Information Software Solutions for TERRAIN ANALYSIS. Defense & Intelligence SOLUTIONS GUIDE.

SECTION 5 IMAGE PROCESSING 2

A Vision System for Monitoring Intermodal Freight Trains

Statistical Approach to a Color-based Face Detection Algorithm

Edges and Binary Image Analysis April 12 th, 2018

Object Recognition II

Demystifying Deep Learning

Submerged Aquatic Vegetation Mapping using Object-Based Image Analysis with Lidar and RGB Imagery

Imagery and Raster Data in ArcGIS. Abhilash and Abhijit

MULTI-SCALE OBJECT DETECTION WITH FEATURE FUSION AND REGION OBJECTNESS NETWORK. Wenjie Guan, YueXian Zou*, Xiaoqun Zhou

Deep Learning Processing Technologies for Embedded Systems. October 2018

Object Detection on Self-Driving Cars in China. Lingyun Li

COMPUTER AND ROBOT VISION

DEEP NEURAL NETWORKS CHANGING THE AUTONOMOUS VEHICLE LANDSCAPE. Dennis Lui August 2017

A performance comparison of Deep Learning frameworks on KNL

Real-time Object Detection CS 229 Course Project

Deep Learning & Accelerating the NLP Journey in the Unstructured World

NVIDIA FOR DEEP LEARNING. Bill Veenhuis

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification

MoonRiver: Deep Neural Network in C++

What s inside: What is deep learning Why is deep learning taking off now? Multiple applications How to implement a system.

EECS490: Digital Image Processing. Lecture #17

Deep Learning Basic Lecture - Complex Systems & Artificial Intelligence 2017/18 (VO) Asan Agibetov, PhD.

CafeGPI. Single-Sided Communication for Scalable Deep Learning

Object Detection. CS698N Final Project Presentation AKSHAT AGARWAL SIDDHARTH TANWAR

ENVI ANALYTICS ANSWERS YOU CAN TRUST

INTRODUCTION TO DEEP LEARNING

Machine vision. Summary # 5: Morphological operations

SSD: Single Shot MultiBox Detector. Author: Wei Liu et al. Presenter: Siyu Jiang

Examination in Image Processing

Digital Image Processing COSC 6380/4393

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

Using Machine Learning for Classification of Cancer Cells

2014 Google Earth Engine Research Award Report

Semantic Segmentation

Transcription:

Counting Passenger Vehicles from Satellite Imagery Not everything that can be counted counts, and not everything that counts can be counted NVIDIA GPU Technology Conference 02 Nov 2017 KEVIN GREEN MACHINE LEARNING AND COMPUTER VISION SCIENTIST MAHMOUD LABABIDI SENIOR DATA SCIENTIST

There Are Three Kinds of People - Those Who Can Count and Those Who Can't 2

Agenda Introduction to Satellite Imagery Why Machine Learning for Satellite Imagery? Car Counting from Space is Hard Problems Solutions Algorithm Overview Classification Segmentation Object Detection Production Future Work Car Count = 14 Cars 3

DigitalGlobe s Satellite Constellation 4

Why Machine Learning for Satellite Imagery? Extracting information from imagery in an automated way allows for timely, low-manpower macroscopic as well as needle-in-haystack exploitations (e.g., Intelligence, Business Analytics, Disaster Relief) Some challenges exist in viewing satellite imagery: Environmental (lighting) and atmospheric (clouds) distortion Pixel count for small objects (cars) in 30 cm resolution imagery is small (~4-5 pixel width) Automation exists for basic techniques(e.g., vegetation and land use classification), however, for complex tasks such as object detection, these techniques fail The capability of transforming overhead imagery content into countable objects will satisfy the analytic needs of commercial and military customers 5

Car Counting from Space is Hard Problems Counting thousands of cars from 30 cm (1 foot) resolution Satellite imagery is visually difficult (i.e., cars are roughly 5 pixels width), tedious, and laborious Various brightness levels of cars, some cars are dark, blending into other dark surfaces Classical computer vision techniques such as edge detection fail in this arena Our Solutions Object Classification Segmentation + Morphological operations Object Bounding Box Detection 6

Algorithm Overview Classifier LeNet Non-maximum Suppresion Removes overlapping detection boxes Input Imagery WorldView 3 Segmentation Fully Convolutional Network (FCN) Morphology Binary Threshold Convex Hull Opening Labeled Cars and Count Estimated Car Count Object Detector Single Shot Detector (SSD) Non-maximum Suppresion Removes overlapping detection boxes 7

Algorithm #1: The LeNet Classifier Yann LeCun started the Convolutional technique to perform classification, particularly for Optical Character Recognition. Their 1998 paper, Gradient-Based Learning Applied to Document Recognition has over 9,600 citations. 8

9

Sliding Window The LeNet Classifier: Sliding Windows and NMS Trained Classifiers slide a window over an image and placing a bounding box (BBOX) on the portions of the image that contain the object of interest Non-maximum suppression (NMS) is an algorithm that eliminates overlapping detection boxes that are produced by sliding a window over an image Non-maximum Suppression 10

A) The LeNet Classifier Results Several issues arise when using an image classifier to detect cars Determining how much percent overlap to allow before suppressing overlapping detection boxes More prone to false hits (see figure B) Challenges in determining car count if BBOX is too large B) 11

Algorithm #2 Segmentation: Fully Convolution Network Based on the VGG Neural Network 12

Segmentation Results A) Here are the issues that surface when using a segmentation algorithm to detect cars The segmentation outputs exceptional results through pixel masks containing cars but lacks individual BBOXs Fortunately, segmentation has few false positives to Classification (and Object Detection in some cases) Although segmentation is powerful, in order to extract individual cars, additional post-processing is needed (e.g., morphology) B) 13

Morphological Operations used to Extract Cars from Segments 14

Image Erosion Morphological Operations (Opening/Closing/Convex) Image Dilation Morphological operations modify the shape of an image in diverse ways: Erosion Erodes the boundary of the image Dilation Expands the boundary Opening - Erosion followed by dilation (noise removal) Closing Dilation followed by erosion (hole filler) Convex - Shape formed by a rubber band stretched around foreground image Opening Convex Hull Closing 15

Car (RGB) Car (Binary Threshold) Does this still look like a Car? 16

A) Morphology to Extract Cars Thresholding followed by morphological operations may not always yield one car blob: Figure A illustrates two car components after binary thresholding Figure B does show one car component per car blob after applying an opening operation However, is the resultant car blob really a car? One final step is validate the car geometry B) 17

Spatial False Alarm Mitigators (FAMs) Reduce False Detections Area Spatial FAMs using oriented bounding boxes were used to eliminate blobs that didn t meet the average dimensions criteria for a car: Area Eliminate too big or too small Length/Width Ratio Eliminate long skinny boxes Length and Width Eliminate if pixel size is one 18

Algorithm #2: Segmentation Conclusion: Segmentation (localization) shows promising results when combined with morphological operations (refinement), enabling us to quickly calculate accurate car counts in satellite imagery Car Count = 14 Cars 19

Algorithm #3: Single Shot Detector (SSD) 20

A) The SSD Object Detector Results The Single Shot Detector does a more direct execution at detecting and drawing BBOXs around cars Locates individual cars more accurately in densely packed parking lots Also less prone to false hits (see figure B) NMS issues may arise if overlap area isn t calibrated B) 21

Competitive Car-Counting Bake-off Other Commercial Vendor = 2,205 22

Training (wheels) to Production GBDX is the platform that uses Amazon EC2 to deploy docker images of the code and model. NVIDIA GPU Training: NVIDIA GTX 980 NVIDIA GTX 1080 NVIDIA TitanX NVIDIA M40 NVIDIA P100 NVIDIA M1000M - Mobile Machine Learning Frameworks: TensorFlow Keras Caffe Training Speed: 100 Batches of 4 300x300 images take 20 minutes to train Inference Speed: 20 minutes on strip shown above approximately 13kx13k 23

AnswerFactory SSD Workflow 1) Define AOI & Select Detect Model (Cars) 2) Select Date Ranges & Auto Update Historical (15 years) Run on all new images in the future AnswerFactory 3) Run Model & Get Results 4) Analyze Individual Parking Lots Over-time Employee Parking Resident Parking VIP & Visitor Parking 24

Provide analysts Tips on changing activity levels for enhanced garrison monitoring 16APR2015 29AUG2015 350 Military Vehicle Counting 300 250 200 150 100 Object Count Actual Count 50 0 16APR2015 29AUG2015 2SEP2015 2SEP2015 Significant Changes Detected 25

Future Work Explore the use of different multi-spectral band combinations for improved car count Explore whether different activations might better support detecting dark cars (e.g., Leaky Relu) Go beyond temporal volume anomalies to include spatial anomalous behaviour Upcoming Xview Challenge, which is an ImageNet-like challenge competition for Satellite imagery DigitalGlobe colleague, Tood Bacastow, discussed earlier today in his talk entitled SpaceNet: Accelerating Automated Mapping with Deep Learning and Labeled Satellite Imagery 26

Thank you! Questions? 27

28