Devin White 1 , Sophie Voisin 1 , Christopher Davis 1 , Andrew Hardin 1 , Jeremy Archuleta 2 , David Eberius 3 , 1 Scalable and High Performance Geocomputation Team Geographic Information Science and Technology Group 2 Data Architectures Team Computational Data Analytics Group Oak Ridge National Laboratory 3 Innovative Computing Laboratory Department of Electrical Engineering and Computer Science University of Tennessee – Knoxville GTC 2016 – April 5, 2016 A Fully-Automated High Performance Geolocation Improvement Workflow for Problematic Imaging Systems
39
Embed
A Fully-Automated High Performance Geolocation Improvement ...on-demand.gputechconf.com/...white-high...workflow.pdf · 1Scalable and High Performance Geocomputation Team Geographic
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Devin White1, Sophie Voisin1,
Christopher Davis1, Andrew Hardin1,
Jeremy Archuleta2, David Eberius3,
1Scalable and High Performance Geocomputation Team
Geographic Information Science and Technology Group
2Data Architectures Team
Computational Data Analytics Group
Oak Ridge National Laboratory
3Innovative Computing Laboratory Department of Electrical Engineering and Computer Science
University of Tennessee – Knoxville
GTC 2016 – April 5, 2016
A Fully-Automated High Performance
Geolocation Improvement Workflow for
Problematic Imaging Systems
Managed by UT-Battelle for the Department of Energy
Outline
Project background
System overview
Scientific foundation
Technological solution
Current system performance
Managed by UT-Battelle for the Department of Energy
Background
Overhead imaging systems (spaceborne and airborne) can vary substantially in their geopositioning accuracy
The sponsor wanted an automated near real time geocoordinate correction capability at ground processing nodes upstream of their entire user community
Extensible automated solution is using well-established photogrammetric, computer vision, and high performance computing techniques to reduce risk and uncertainty
Robust multi-year advanced R&D portfolio aimed at continually improving the system through science, engineering, software, and hardware innovation
We are moving towards on-board processing
Satellites
Manned Aircraft
Unmanned Aerial Systems
Managed by UT-Battelle for the Department of Energy
Isn’t This a Solved Problem?
Systemic constraints – Space
– Power
– Quality/reliability of components
– Subject matter expertise
– Time
– Budget
– Politics
Operational constraints – Collection conditions
– Sensor and platform health
– Existing software quality and performance
– System independence
Many of these issues are greatly amplified on UAS platforms
Managed by UT-Battelle for the Department of Energy
Sponsor Requirements
Solution must:
– Be completely automated
– Be government-owned and based on open source/GOTS code
– Be sensor agnostic by leveraging the Community Sensor Model framework
– Be standards-based (NITF, OGC, etc.) to enable interoperability
– Clearly communicate the quantified level of uncertainty using standard methods
– Be multithreaded and hardware accelerated
– Construct RPC and RSM replacement sensor models as well as generate SENSRB/GLAS and BLOCKA tagged record extensions (TREs)
– Improve geolocation accuracy to within a specific value
– Complete a run within a specific amount of time
The first sensor supported is one of the sponsor’s most important, but also its most problematic
Managed by UT-Battelle for the Department of Energy
Technical Approach (General)
1. Ingest and preprocessing
2. Trusted source selection
3. Global localization (coarse alignment, in ground space)
4. Image registration to generate GCPs (fine alignment, in image space)
5. Sensor model resection and uncertainty propagation
6. Generation and export of new and improved metadata
Managed by UT-Battelle for the Department of Energy
PRIMUS Pipeline
Photogrammetric Registration of Imagery from Manned and Unmanned Systems
PRIMUS
Input NITF
Source Selection
Global Localization
Registration
Resection
Metadata
Output NITF
R2D2
Reprojection Orthorectification
Mosaicking
Controlled Sources
Core Libraries:
• NITRO (Glycerin)
• GDAL
• Proj.4
• libpq (Postgres)
• OpenCV
• CUDA
• OpenMP
• CSM
• MSP
GPU Implementation
Preprocessing
CPU Implementation
Managed by UT-Battelle for the Department of Energy
Source Selection
Find and assemble trusted control imagery and elevation data that cover the spatial extent of an image.
Source Selection
Elevation
Imagery
Input: image
Managed by UT-Battelle for the Department of Energy
Mosaic Generation
Create bounding
box
Grow bounding
box
Query R2D2’s DB
Start Read images from
disk
Mosaic imagery Create (elevation + geoid)
mosaic
150%
Returns image paths
Managed by UT-Battelle for the Department of Energy
System Hardware
CPU/GPU hybrid architecture
– 12 Dell C4130 HPC nodes
– Each node has:
48 logical processors
256GB of RAM
Dual high speed SSDs
4 Tesla K80s
– Virtual Machine option
Managed by UT-Battelle for the Department of Energy
A Note on Virtualization
We ran VMware on one of our nodes with mixed results
We were able to access one GPU on that node through a VM using PCI passthrough, but the other seven remained unavailable due to VMware software limitations
VMware, GPU, and OS resource requirements limited us to two VMs per node, which is not very helpful
We greatly appreciate the technical assistance NVIDIA provided as we conducted this experiment
Verdict: It’s still a little too early for virtualization to be really useful for high-density compute nodes with multiple GPUs
Managed by UT-Battelle for the Department of Energy
PRIMUS Pipeline
Photogrammetric Registration of Imagery from Manned and Unmanned Systems
PRIMUS
Input NITF
Source Selection
Global Localization
Registration
Resection
Metadata
Output NITF
R2D2
Reprojection Orthorectification
Mosaicking
Controlled Sources
Core Libraries:
• NITRO (Glycerin)
• GDAL
• Proj.4
• libpq (Postgres)
• OpenCV
• CUDA
• OpenMP
• CSM
• MSP
GPU Implementation
Preprocessing
CPU Implementation
Managed by UT-Battelle for the Department of Energy
Orthorectification Process
Create bounding box
Grow bounding box
Query R2D2’s DB
Begin
Read images from disk Create (elevation + geoid) mosaic
Orthorectify
Source image
Control Selection
Global Localization
Returns image paths
Managed by UT-Battelle for the Department of Energy
Orthorectification Solution
Accelerate portions of our OpenMP-enabled code with GPUs using CUDA
– Sensor Model calculations
– Band Interpolation calculations
Optimize both of the CUDA kernels and their associated memory operations
Create in-house Transverse Mercator CUDA device functions
Combined the Sensor Model and Band Interpolation kernels
Managed by UT-Battelle for the Department of Energy
Orthorectification Optimized
Managed by UT-Battelle for the Department of Energy
• JPEG2000-compressed commercial image pair (36,000 x 30,000 each)
• GPU-enabled RPC orthorectification to UTM
• Each is done in 8 seconds, using one eighth of a single node’s horsepower
• 65,000,000,000 pixels per minute per node, running on multiple nodes
• That includes building HAE terrain models on the fly from tiled global sources
Orthorectification Performance
Managed by UT-Battelle for the Department of Energy
PRIMUS Pipeline
Photogrammetric Registration of Imagery from Manned and Unmanned Systems
PRIMUS
Input NITF
Source Selection
Global Localization
Registration
Resection
Metadata
Output NITF
R2D2
Reprojection Orthorectification
Mosaicking
Controlled Sources
Core Libraries:
• NITRO (Glycerin)
• GDAL
• Proj.4
• libpq (Postgres)
• OpenCV
• CUDA
• OpenMP
• CSM
• MSP
GPU Implementation
Preprocessing
CPU Implementation
Managed by UT-Battelle for the Department of Energy
Global Localization - Coarse Adjustment
Roughly determine where source and control images match.
Adjust the sensor model.
Triage step in the pipeline.
Global Localization
Output:
coarse sensor model adjustments
C
S
C
S
Input:
source and control images
Managed by UT-Battelle for the Department of Energy
S
Computation - Solution Space
Solution Space:
– Each possible shift (exhaustive search)
Solution:
– Similarity coefficient between the source and the control sub-image
C
Solution space
Managed by UT-Battelle for the Department of Energy
Similarity Metric
Normalized Mutual Information
Histogram with masked area
– Missing data
– Artifact
– Homogeneous area
Source image and mask: NSxMS pixels
Control image and mask: NCxMC pixels
Solution space: nxm NMI coefficients
𝑁𝑀𝐼 = 𝐻𝑆 + 𝐻𝐶𝐻𝐽
𝐻 = − 𝑝 𝑖 𝑙𝑜𝑔2𝑝 𝑖
𝑘
𝑖=0
𝐻 is the entropy 𝑝 𝑖 is the probability density function
𝑘 ∈ 0. . 255 for S and C
0. . 65535 for J
Managed by UT-Battelle for the Department of Energy