Background
Advances in computing capabilities and the abundance of training data have sparked a surge in machine learning (ML) techniques across many domains including autonomous vehicles, cyber-security, and robotics. ML techniques could provide valuable new capabilities to space missions operating in Earth orbit and deep space. However, spaceflight hardware lags significantly behind commercially available terrestrial hardware, and the computational resources available on a spacecraft have not been adequate to support the processing required by ML techniques. Recent advances in spaceflight processing hardware could make the deployment of ML models onboard spacecraft a possibility. The objective of this research was to investigate and characterize the feasibility of implementing modern ML algorithms on computational hardware, which can be deployed onboard spacecraft.
Approach
Our approach involved four primary technical tasks: (1) analyze existing hardware platforms and select platforms to test based on key criteria including power consumption, processing speed, and radiation tolerance; (2) develop a baseline ML model which detects crater rims from image data and establish a benchmark for model accuracy, model size, and execution speed; (3) optimize the baseline ML model in order to reduce both computation time and memory footprint; and (4) deploy the optimized ML model onto the selected platforms including a radiation tolerant Central Processing Unit (CPU), Field Programmable Gate Array (FPGA), and Graphics Processing Unit (GPU) option and compare model performance against metrics including speed, power, and cost.
Accomplishments
Suitable CPU, FPGA, and GPU platforms were selected for testing of the baseline ML model. The baseline ML model was successfully trained on crater images from the moon with a pixel-wise accuracy of 89%. We implemented various model optimizations including quantization and depth-wise separable convolutions, and measured their effects on accuracy, model size, and model speed. We also made optimizations of the software deployment for the CPU to accelerate certain sections on the heritage CPU platform. Overall, we successfully executed the crater detection model on the CPU, FPGA and GPU platforms and characterized processing throughput.