© 2019 BAE Systems. All Rights Reserved. ClearFlite, GXP, GXP OpsView, GXP WebView, GXP Xplorer, SOCET GXP, and SOCET SET are registered trademarks of BAE Systems. This document gives only a general description of the product(s) or service(s) offered by BAE Systems. From time to time, changes may be made in the products or conditions of supply. EXPORT-CONTROLLED DATA. This document contains technical information whose export is governed by the U.S. Export Administration Regulations (EAR). This informationmust not be transferred to a foreign person without proper authorization of the U.S. Department of Commerce. Violations may result in administrative, civil or criminal penalties. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE.
Joseph Spann et al. (a cast of hundreds)
Advanced Technologies in GXP®
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Advanced Technologies in the GXP® firmament
2
Advanced Technologies are answers to customers’ really difficult questions• We ask customers what they would like to do with our software but can’t, because:
• The capability doesn’t exist• It’s too laborious• It’s too slow• It’s not accurate enough
• We have significant experience in the development of advanced technologies• Scientists in San Diego and Durham working on hard problems to develop capabilities in the production software and on
government programs including Contract Research and Development (CRAD), Cooperative Research and Development Agreement (CRADA), proposals, white papers
• Many PhD and MS scientists and engineers• Joint projects with top scientists and engineers in other parts of BAE Systems, e.g. FastLabs, and across the defense
industry and academia• Advanced technologies that we develop go into GXP commercial off the shelf (COTS) products
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Advanced Technologies in GXP
3
• Sensor models• Machine Learning tools and techniques• Multi-stream video exploitation• Manual sensor model creation• Unmanned Aerial Vehicle (UAV) bundle adjustment overview• A common cloud-based repository with automated curation tools• GXP Python Application Programming Interface (API)
© 2019 BAE Systems. All Rights Reserved. ClearFlite, GXP, GXP OpsView, GXP WebView, GXP Xplorer, SOCET GXP, and SOCET SET are registered trademarks of BAE Systems. This document gives only a general description of the product(s) or service(s) offered by BAE Systems. From time to time, changes may be made in the products or conditions of supply. EXPORT-CONTROLLED DATA. This document contains technical information whose export is governed by the U.S. Export Administration Regulations (EAR). This informationmust not be transferred to a foreign person without proper authorization of the U.S. Department of Commerce. Violations may result in administrative, civil or criminal penalties. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE.
Hubiao Lan, Dr. Irwin Krinsky, Joseph Spann, and Shannon McDonald
GXP® sensor models
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Why: sensor models are essential for GXP® activities that require photogrammetric support
• Physics based sensor modeling, implementing g2i and i2g functions, adjustability of parameters and rigorous error propagation
• Underlies every photogrammetric operation, e.g. triangulation, bundle adjustment, elevation extraction, orthorectification
• More than any other capability, sensor modeling is the core underlying technology at GXP
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Sensor models in GXP software
6
• Rigorous sensor models not only enable more accurate work, but are necessary for advanced photogrammetric workflows, e.g. terrain generation, orthorectification
• Sensor models are not quite R&D; mainly they are routine development, but sometimes a new one reveals unexpected problems
• BAE Systems San Diego has world experts in this field. (CSM, MSP, CGS, …)• What is a sensor model?
• Image-to-ground and ground-to-image equations• Statement of which parameters are adjustable• Rigorous error propagation
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Sensor models in GXP software
List in alphabetical order of sensor supplier• Not suggestive of all the data formats and sensors that GXP software can read• Color coding indicates product evolution
• Shipped in SOCET GXP® v4.1• Shipped in SOCET GXP v4.2• Shipped in SOCET GXP v4.3• Under development; currently unscheduled
• Trend is towards increased use of more capable generic models• Generic Frame Model (GFM)• Generic Linear Array Sensor (GLAS)• Sensor Independent Complex / Derived Data (SICD / SIDD) generic models for Synthetic Aperture Radar (SAR) imagery• Replacement Sensor Model (RSM)• Ground Point Model (GPM) for Lidar point clouds• GFM Bundle Model for video clips
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Sensor models in GXP software …2
8
• RSM generic capability• Community Sensor Model (CSM) support for user-
developed sensor models (3.0.2; 3.0.3)• SICD/SIDD from github
• MSP-supported sensors
• Generic• 2-D polynomial• 3-D polynomial• Direct Linear Transformation (DLT)• Four-corner• Frame advanced• Identity• Ortho• Rational Polynomial Coefficients (RPCs)
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Sensor models in GXP software …3
9
• DigitalGlobe®
• GeoEye-1• IKONOS (RPCs)• QuickBird• WorldView-1/2/3/4?
• European Space Agency• Sentinel-1A/2A
• Earth-i • DMC3 (TripleSat constellation)
• Harris• ENVI Header Format: read georeferencing from .hdr file• Initialize sensor model from ENVI Standard Image
format• Hexagon Geosystems
• Leica ADS40/80/100 pushbroom sensor (Level 1)
• Agenzia Spaziale Italiana• COSMO-SkyMed• COSMO-SkyMed complex
• Airbus• Pléiades A/B• SPOT 1/2/3/5/6/7• TanDEM-X• TanDEM-X complex• TerraSAR-X• TerraSAR-X complex
• Canadian Space Agency• RADARSAT• RADARSAT-2• RADARSAT-2 complex
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Sensor models in GXP software …4
10
• Korea Aerospace Research Institute• KOMPSAT-2/3/3A/5
• NASA• ASTER• Landsat
• National Space Organization (Taiwan)• Formosat-2
• Planet Labs• Planet(Flock?)• RapidEye• SkySat-1/4/5/6/7
• Rafael Advanced Defense Systems• VisionMap A3(newer version?)
• ImageSat International• EROS-B
• Indian Space Research Organization• CartoSat (RPCs)• Chandrayaan-1 TMC• RISAT-1 complex
• Japan Aerospace Exploration Agency• ALOS AVNIR-2• ALOS PALSAR• ALOS PRISM (rigorous)• ALOS PRISM (RPCs)• ALOS-2 PALSAR-2
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Sensor models in GXP software …5
11
• UrtheCast• DEIMOS-1/2 (RPCs)
• U.S. government formats• Arc Standard Raster Product (ASRP)• Compressed ARC Digitized Raster Product (CADRG)• Controlled Image Base (CIB)*• Digital Point Positioning Data Base (DPPDB)**• Generic Point-Cloud Model (GPM, formerly known as ULEM)• NCDRD
• GeoEye-1• WorldView-1/2/3
• SENSRA Frame• SENSRB Frame• USGS DOQ• USMSD
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Video CSM
• GXP InMotion™ video defaults to SENSRA model• User can configure for Frame_Advanced sensor
model but rarely does • SOCET GXP NITF exploitation uses CSM SENSRB
model• For GXP InMotion and SOCET GXP solutions to
match it is desired to use the same model all the time
• Q: Can we make a CSM model fast enough for real-time video?
12
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Video CSM – Experiment 1SENSRB recreate every time
13
• This uses a CSM NITF ISD in which SENSRB and AIMIDB are used to create a model • The plugin parses the SENSRB and AIMIDB information into structures, then it processes the data into an NVList which
the sensor model is created from • This approach was really slow until two changes were made to SENSRB plugin:
• Changed getElev() to keep the TerrainBaseUtil around; This keeps the terrain base loaded and reduced ground elevation retrieval time• Alternatively, we can work-around outside the model by filling out SENSRB module 11 with a point on the ground to use as the
ground reference point
• Inside of IWS_SensrbFramePlugin::updateTrajCovariance() and IWS_SensrbFramePlugin::setIoFromSensrb() changed how the covariance matrix is filled out from an O(n^3) algorithm to O(n log n) algorithm• It used to iterate over every possible cross covariance item then loop over the module 14 to see if it’s present
• Change to just iterate over module 14 values actually present and put them into the correct location• Can only be fixed inside of the model
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Video CSM – Experiment 2SENSRB state w/NVList & recreate
14
• This experiment implemented replaceModelState(), and does almost everything that the above code does except creating a new sensor model
• The ISD is created and the NVList is parsed
• Lastly, all of the internal sensor models items are re-created
• Surprisingly, this takes roughly the same amount of time as Experiment 1
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Video CSM – Experiment 3SENSRB state update directly
15
• Instead of processing the parsed SENSRB into an NVList to populate the sensor model variables, take the parsed SENSRB and assign it directly into the sensor model member variables
• Had to add friend to IWS_VdeoFrameTraj and IWS_CalibratedIO
• This does offer some savings over Experiment 2
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Video CSM – Experiment 4SENSRB struct subset
• The experiment is to find the fastest implementation
• This used a struct that only had the KLV items in the video that were changing
• The struct was accessed directly by the sensor model to update the member variables
• This also cuts out string encoding and decoding
16
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
Video CSM – Performance results
After profiling the code, most of the time was used to get the state string from the CSM model. This often isn't needed, so we changed the CSM model wrapper to only get the state string if the calling code needs it. Here are the new timings. (3ms is fast enough for 30Hz video).
17
Model Time (ms) Previous Time (ms)Frame Advance <2ms <2ms
SENSRB recreate every time. <5ms <13ms
SENSRB state w/NVList & recreate <5ms <13ms
SENSRB state update directly <3ms <9ms
SENSRB struct subset <1ms <6ms
GXP360º Professional Exchange and WorkshopMarch 18-22, 2019 | San Diego, California
© 2019 BAE Systems. All Rights Reserved. EAR CONTROLLED. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE. R&D: Introduction & Sensor Models | Joe Spann, et. al.
We value your feedback
18
We improve because of your feedback!
Please take a moment to complete the brief paper survey that was provided to you at the beginning of this session.
If you did not get a survey, see your session monitor in the back of the room or your session instructor.
We appreciate your time and suggestions!
© 2019 BAE Systems. All Rights Reserved. ClearFlite, GXP, GXP OpsView, GXP WebView, GXP Xplorer, SOCET GXP, and SOCET SET are registered trademarks of BAE Systems. This document gives only a general description of the product(s) or service(s) offered by BAE Systems. From time to time, changes may be made in the products or conditions of supply. EXPORT-CONTROLLED DATA. This document contains technical information whose export is governed by the U.S. Export Administration Regulations (EAR). This informationmust not be transferred to a foreign person without proper authorization of the U.S. Department of Commerce. Violations may result in administrative, civil or criminal penalties. E-20190317-64. NOT INTENDED FOR PUBLIC RELEASE.
Hubiao LanTel: 858-675-1969E-mail: [email protected]
Joseph SpannTel: 858 592 5853E-mail: [email protected]
Thank you!