Predictive model of NEOs’ trajectory using ‘Deep Learning’ and ‘TensorFlow’.

How to avoid the Asteroid? | Deep Asteroid

The Challenge: Near Earth Objects Machine Learning

For this challenge, we invite you to become "virtual contributors" to the Asteroid Grand Challenge and develop a hypothetical method, concept note or simple prototype that demonstrates how Machine Learning could be used to help us avoid the same fate as the dinosaurs.

Project Overview

Near Earth Object (NEO) is, by definition, any small Solar System body whose orbit brings it into proximity with Earth. We’re surrounded by these objects: more than 40.000 asteroids, 1000 comets and some space debris caused by asteroids and space launches. And these NEOs can be a real danger to life on Earth danger that moved NASA to announce the Planetary Defense Coordination Office in January 2016.

Meanwhile, human technology has evolved enough to synthesise some parts of our own intelligence. ‘Deep Learning’ was born as an attempt of making computers understand the world: machines are more powerful than ever, but they still couldn’t think or act like humans do.

A ‘Deep Learning’ network, also called ‘neural networks’, is a way of machine learning based on layers. This technique supposes the fastest-growing field in machine learning, making phenomenons like Artificial Intelligence possible, and we could use that technology to detect NEOs’ trajectories faster than ever.

¿Why ‘Deep Learning’? ¿Why ‘TensorFlow’?

Deep learning is the fastest-growing field in machine learning. Using TensorFlow’s exponential technology we can design a multilayered model, able to recognize and classify the potential NEO´s that could impact Earth.

TensorFlow offers several advantages as a ‘Deep Learning’ framework; it computes in multiple GPUs, offering faster solutions compared to computing in a single GPU. Besides, it allows to compute or select transfer functions easily and design what is called "black box optimization". In this deep learning orbital experience we are training the orbital network with several Ellipses, Wavefunctions and other Trigonometric Functions.

TensorFlow’s architecture presents another advantage. One of its classes, variables, can be sliced and re-edited with time. It means that the variables can be trained about the uncertainty of the change in orbit classification, offering an advantage against other classification approaches as SVMs

However, Deep Learning has its drawbacks. Many studies about this technology highlighted that, during a high number of iterations, it must be human-supervised in order to be valuable, and the selection of training data has already proven to be key in the learning process.

Deep Asteroid Software Model

The Neural Network model include some key steps to consider data to be trained or tested for classification and future predictions:

0. Preparation of data sets. Extract into a CVS the actionable data in order to feed the training progress. Select a balanced dataset for initial learning, including known matched NEOs’ with transfer functions, composition, and date of impact. Monitoring objects is an important task for archive as most accuracy as possible.

1. Execution of NEO recognizing Protocol described in Tom Gehrels, Mildred Shapley Matthews ,A. M. Schumann ‘Hazards Due to Comets and Asteroids’. Tree decision data pruning process that allows raw data to transform into actionable and valuable data that could be implemented in the net as knowledge.

2. FIRST LAYER | Feed the neural net with training data. Given a known NEO, creating a tensor with the data described below, and including a transfer function that matches the known orbit of the NEO, feed the net in order to classify the NEO into the 4 main groups -Apolo, Aten, Amor and IEOs-

3. Execute a Softmax regression with the spectral and physical data about the asteroid, gathering more information about the potential harm the NEO could suppose.

4. SECOND LAYER | Retrain the Neural Network. Given a certain amount of time, the observation of NEO´s might drive into changes. The architecture of TensorFlow allow us to slice and edit those data identifying in the software development designed process the changes, false positives, and how those objects have being trained in each phase.

If we re-train a neural net over time, are we teaching it to change?

Managing uncertainty is one of the most important innovations any artificial network could develop. If we settle the variable time inside the net, we however accept the change as part of the design process of classification and recognition. Our value proposition drives not only in TensorFlow architecture use, but in how can we use its speed to train our network faster.

Data Sets

We have designed two types or valuable data -all regarding observation and visual parameters- in order to help with the classification of the NEOs. We have also searched for visual data in order to feed TensorFlow directly, helping the net to visualize the orbits.

For the Neural Net, key data sets as PHA, MOID data and ephemerides have been selected, selecting important parameters as variables.

1.a) Input datasets. CVS as tf.tensor [ EPO , AMH , SAU ,ARC , U ] and [ __, __,__,__,__,__,__]

  • Epoch: Time of observation of the given object.
  • Absolute Magnitude H: Brightness.
  • Semimajor axis AU: Distance from the asteroid to the sun in the major axis
  • Uncertainty parameter U: If the orbit has eccentricity or if a designation is involved.
  • Arc length (days): Data of the orbit trajectories of the asteroids that intersect with the Earth.
  • Ephemerides: Data about the position of the object

1.b) Output datasets .CVS as tf.tensor[ ATEN, APOLLO, IEOS ] and [__%, __%,__%,__% ]

  • Type of orbit: There are 4 types of orbits which are near of the Earth: Ieos, Aten, Apollo and Amor. Aten and Apollo cross Earth’s orbit. Ieos and Amor are near Earth orbit, and are observed because their orbits can change when crossing Jupiter, Saturn, Uranus and Neptune’s orbits, whose gravity fields occasionally deflects comets towards Earth.
  • Probability tensor: the output in % that talks about the possibility to belong to a certain kind of orbit. This is however the important result of

2.b) Input datasets .CVS as tf.tensor[ C-G, S-T, X-T] , tf.variable[V,B,G,Y,O,R]

Classification of asteroid chemical composition analysing its spectral features, including:

  • C-group: carbonaceous objects
  • S-group: silicaceous (stony) objects
  • X-group: metallic objects.

Also to determine

  • Mass and density

2.b) Output datasets .CVS as tf.tensor[ YES, NO ], tf.variable[__%,__%]

This tells us if the object is potentially dangerous, and its probability to impact Earth.

Execution of the NEO Recognizing Protocol

The objective is to achieve a faint limiting magnitude using short integration times and observe a large area of dark sky.

Estimating orbital accuracy is really important; degree of potential hazard can be estimated in terms of probability of impact with Earth. Combination of optical and radar astrometry should be used in critical cases.

Observing network will have to be maintained by a central processing facility. The facility will be responsible for scheduling observing patterns; establishing the mix among search, follow-up, and physical observations; changing observing schedule in response to single-point failures and discover of unusual NEOs; computing orbits and continuously updating the fixed- and moving- source catalogs.

A possibility, which eliminated the problems associated with detection at small solar elongations, is to construct an orbital detection system around Venus.

NEO Survey Protocol

  1. Ephemeris uncertainties must be computed to limit search and linkage problems.
  2. Observations will be selected on the basis of predictive magnitudes and ephemeris uncertainty of target NEOs.
  3. We allowed a variable V_lim which requires selection of the scan rate.
  4. Objects remain until their objects can be determined accurately enough to prove they are potentially hazardous and should therefore be given priority for follow-up.
  5. The observing strategy should probably be updated frequently in response to the nature of discoveries being made.
  6. Scans will be accumulated until a frame has been acquired and then analyzed.
  7. Cosmic-ray events will most likely identified and eliminated by comparison of two or more frames of the same region.
  8. Astronomic mapping.
  9. Data compression.
  10. Fixed-source catalog.
  11. Discriminate false positives, they are identified by correlation failure in repeated integrations on a given region. Developing a statistical measure will be useful.
  12. Automatic trail and streak detection.

The Hackathon

This intense conceptual software work wouldn’t be possible without a passionate group of people who has made this possible.

As a route during the hackathon challenge, we first starting to set back the reference system with the solar system, having the Sun as the center and setting up the Earth Orbit. We did study average asteroid behaviour; main characteristics and datasets associated to them and, after that, we drove into TensorFlow multilayered architecture and how we could use it for potentially design a classification system.

Also, this ‘solution’ wouldn’t exist without the minds that contributed to the project, one way or another. This idea started from a single mind, and we couldn't have reached a solution without everyone’s job. Everyone that contributed is authored in NASA’s project page, and we would love to thank them all for their work and support.

made in

Barcelona, Spain

from the minds of...
    Gema Parreno
    David Perez
    Julian E Fernandez Aronas
    Maria del Mar Nunez Campos
    Jose Antonio Martinez Ontiveros
at Space Apps 2016

Related Solutions