2012 IEEE International Conference on Robotics and Automation RiverCentre, Saint Paul, Minnesota, USA May 14-18, 2012 Autonomous Detection of Volcanic Plumes on Outer Planetary Bodies Yucong Lin, Melissa Bunte, Srikanth Saripalli and Ronald Greeley Abstract— We experimentally evaluated the efficacy of various autonomous supervised classification techniques for detecting transient geophysical phenomena. We demonstrated methods of detecting volcanic plumes on the planetary satellites Io and Enceladus using spacecraft images from the Voyager, Galileo, New Horizons, and Cassini missions. We successfully detected 73-95% of known plumes in images from all four mission datasets.Additionally, we showed that the same techniques are applicable to differentiating geologic features, such as plumes and mountains, which exhibit similar appearances in images. I. I NTRODUCTION Spacecraft missions to the outer solar system have identified active transient volcanic eruptive events on multiple planetary bodies (Figure 1). These include large scale explosive and effusive eruptions on Jupiters satellite, Io, geyser-like ejections on Saturns satellite, Enceladus, and Neptunes satellite, Triton, and outgassing of comet nuclei. These phenomena provide key constraints for subsurface processes, interior dynamics, surface-interior interactions, and models of planetary composition [1], [2], [3], [4]. These events cannot be anticipated, thus characterizing them requires collecting long observation sequences that consume a large portion of a spacecrafts limited memory capacity and downlink bandwidth. Such large data volumes preclude the possibility of sustained surveys of the volcanic activity. The ability to process observations onboard prior to downlink could enable long-term monitoring campaigns when used in conjunction with a method or prioritizing storage and transmission of data. We examined uncalibrated spacecraft images of Io and Enceladus from the Voyager [5], Galileo [6], Cassini [7], and New Horizons [8] missions. The use of uncalibrated images was meant to simulate the condition of data onboard the spacecraft prior to any post-downlink processing that could enhance the appearance of features. We employed supervised classification techniques to detect volcanic plumes that were captured in each image (Figure 11 ). The objective of this work was to autonomously detect manually verified features in images under onboard conditions. Success enables these methods to be applied to future outer solar system missions and facilitates onboard autonomous detection of transient events and features regardless of viewing and illumination effects, electronic interference, and physical image artifacts. Autonomous detection allows the maximization of the Yucong Lin, Melissa Bunte, Srikanth Saripalli and Ronald Greeley are with the School of Earth and Space Exploration of Arizona State University. Tempe,AZ 85287 USA. Yucong.Lin@asu.edu 1 Image numbers correspond to Planetary Data System records. Image credit: NASA. 978-1-4673-1405-3/12/$31.00 ©2012 IEEE spacecrafts memory capacity and downlink bandwidth by prioritizing data of utmost scientific significance. Plumes in each image of Figure 1 are in limb view; an additional plume in 1(c) is visible against the surface. They differ in shape, size, brightness and contrast to their surroundings. Plumes in Figures 1(b), 1(d) and 1(f) are brighter due to illumination effects (i.e. viewing angle with respect to the sun). Without illumination, plumes appear fainter, as in Figures 1(a), 1(e), 1(g) and 1(h). Plumes outlined in Figures 1(e) and 1(f) (bottom spare in each figure; inset in 1(e)) are the same feature but they appear quite different due to such illumination effects. Image defects caused by CCD cross talk like the vertical noise stripe in the same two figures also add to the difficulty of plume detection. II. R ELATED W ORK Recently, algorithms for onboard detection of scientific events have been developed for space missions. Data from the Mars Exploration Rovers have been examined to detect dust devils using a method of background subtraction to reveal motion and to identify clouds using a method of sky segmentation [9]. Salient surface features of Europa have been identified in hyperspectral image [10] using a superpixelendmember detection algorithm [11]. Also, an autonomous method of detecting features beyond the planetary limb of Io has successfully identified volcanic plumes [12], [13]. Such methods of plume detection involves extraction of the planetary limb2 using a Hough transform [14] or edge detection [13] followed by least-squares to fit an ellipse to the limb. Thereafter, bright pixel regions lying outside the limb are identified as plumes. This method will fail to correctly identify the limb in Figure 2(a) and 2(b) because the strong edges will be identified as limbs, and plumes in non-limb views such as the lower feature in Figure 1(c) will not be detected. To overcome these limitations, we combine feature extraction with supervised classification techniques to perform plume detection. This method is being applied to the entire dataset of planetary images where plumes are known or suspected to exist. III. M ETHODS Most known plumes appear bright against the background of the planetary surface or space and extend for only a few pixels. In order to determine whether every group of bright pixels in an image could represent a plume, we applied Scale Invariant Feature Transform (SIFT) [15] to produce distinct interest points in every image. SIFT returns feature 3431 2 the circumferential edge of the apparent disc of a planet (a) Galileo 3178r (c) Voyager c2066612 (e) New Horizons 0035015234 (b) Galileo 5146r (a) Voyager 2066706 (b) (c) New Horizons 003512155 (d) (e) Cassini N00160993 (f) (d) Voyager C2067145 (f) New Horizons 0035121557 Fig. 3: Sift keypoints produced from our images. Left column: original images; Right column: keypoints denoted by the green arrows. The directions and magnitudes of the arrows represent the orientations and scale of keypoints as indicated in [15]. (g) Cassini N00160863 (h) Cassini N00160982 Fig. 1: Sample images of planets and plumes. Plumes are denoted with squares. Some plumes are enlarged and enhanced for clarity. (a)-(f) are Io. (g)-(h) are Enceladus. (a) New Horizons 0035092814 (b) Cassini N0016096-5 Fig. 2: Two images where previous approaches will fail. The stripe in (a) is due to CCD cross-talk. The edge in (b) is Saturns E-ring. (a) is Io and (b) is Enceladus. Fig. 4: Creation of a keypoint descriptor [15]: 1.)computing the gradient magnitude and orientation at each image sample point in a region around the keypoint location (shown on the left). 2.)weighting the samples with a Gaussian window indicated by the circle. 3.)accumulating the samples into orientation histograms summarizing the contents over subregions of certain size ( 4x4 for this figure ). In the histogram (right), the length of each arrow corresponds to the sum of the gradient magnitudes near that direction within the region. This figure shows a 2x2 descriptor array computed from an 8x8 set of samples. We use 4x4 descriptors computed from a 16x16 sample array but we also tested other combinations. 3432 descriptors for every interest point based on the orientations of gradients in the local neighborhood of each point (Figure 4, from [15]). The descriptor is invariant to changes in illumination, image noise, rotation, scaling, and small changes in viewpoint. It is represented by a 128-dimensional vector and is appropriate to represent plumes. We randomly selected 1/3 of the images from each mission dataset as training images. Random selection ensures that all varieties of plumes are included in the training sets. After performing SIFT on training images, we manually categorized feature descriptors for the presence of plumes: a positive designation indicates that an interest point is part of a plume; a negative designation indicates that an interest point is not part of a plume. Using those training features and categories, we varied supervised classification techniques to train and test the classifier on test images. We assessed the results with different training and testing sets formed by multiple random selections of images so that the results were independent of selection. We noted that most keypoints (as shown in Figure 3) are not from plumes; SIFT features mainly resulted from surface material gradients and background noise. One difficulty encountered with supervised classification was the high ratio of negative features to positive features in training. For example, in one training set of New Horizons images, there were 130 positive features and 33,330 negative features. To classify the features found using SIFT, we employed K-Nearest Neighbour (KNN) [16], Support Vector Machine (SVM) [17], and Principle Component Analysis (PCA) [18] used with KNN. SVM decision tree random forests KNN PCA+KNN larger training set city block 1st run 22.86% 63.46% 13.46% 70.00% 67.57% 92.71% 81.42% 2nd run 24.73% 66.34% 15.52% 74.29% 69.70% 89.56% 83.54% TABLE I: Comparison of KNN and other methods on New Horizons. Different rows conrespond to different randomly selected training sets. IV. R ESULTS AND A NALYSIS A. Support Vector Machine To build a SVM classifier, we used the positive and negative feature classifications from the training set to generate a decision boundary, a hyper-plane in 128 dimension space which minimizes the number of features that are not matched with the correct category. The large number of negative features makes SVM computationally expensive. In practice, we built a SVM classifier using a subset of training features formed by: • using all positive features and a random selection of negative features (in this case, 1,000). • building a SVM classifier with the new training set. • testing the classifier on the training images and adding misclassified negative features to the negative feature sets. • using the updated negative sets together with all positive features. The SVM classifier built using a linear kernel ([17]) for New Horizons data achieved an unacceptably low detection rate (Table I) because the positive and negative features could not be separated by a hyper-plane. Due to the high ratio of negative to positive features, a decision boundary could only be generated at the expense of incorrectly classifying most positive features. Most plume interest points were rejected. We attempted to reduce this bias using a Radial Basis Function (RBF) kernel as described in [19]. However, the results did not improve because the RBF-kernel and linear kernel can be related with a simple transformation when the SIFT descriptor is normalized to unit length as in this case. B. Decision trees and Random forest A decision tree [20] is a binary tree whose no-leaf node has only two children and each of them is marked with a class label. For the SIFT feature descriptor, each node of the produced decision tree corresponds to a component of the 128-D vector. A threshold for each node is generated to separate that component into two classes. The prediction of each SIFT descriptor starts with the root node. From each non-leaf node, the procedure goes to the left or right based on the nodes threshold (if the component corresponding to the node is less than the threshold, it goes to the left, otherwise, to the right). This procedure continues until a leaf node is reached; the class label assigned to the node is the output of the prediction. Random forest [21] is an ensemble of tree predictors (ex. decision trees). The random forest classifies the input feature vector with every tree in the forest and outputs the class label that received the majority of votes. Decision trees (Table I) resulted in improved performance over SVM. Random forests almost failed because each tree randomly captures only part of a descriptors components which amounts to loss of information. C. K Nearest Neighbours In KNN, a feature vector is classified based upon the major votes of its neighbours. Euclidean distance is used to determine its neighbours. KNN tends to be more appropriate because it does not require particular spatial distribution of feature vectors and is thus adaptive to the unpredictable large variety of plumes. We observed that KNN outperforms a decision tree for New Horizons data (Table I). Decision tree was inferior because the thresholds assigned to nodes may be upset by the variety of plumes features. Given the high ratio of negative to positive features and nonseparability of feature vectors, a feature from a plume will be surrounded mainly by features that are not from plumes; therefore the smallest K is intuitively most appropriate to classify a feature. We found the best results with a K of 1. According to [15], the 128 elements of feature vectors are formed by a 4x4 array of histograms with 8 orientation bins in each array (Figure 4). Such a combination is best for feature discrimination [15]. We tested different combinations of array sizes on the New Horizons dataset (Table II). We observed that an (8x8)x8 array resulted in the highest detection accuracy. This is expected as a larger array keeps the most 3433 feature information. The increase in detection accuracy over a (4x4)x8 array is not a significant tradeoff for the large increase in computation time needed for the larger vector dimensions; therefore, we used the smaller array size. D. PCA + KNN Principle Component Analysis is a classical statistical pattern recognition technique. It reduces data dimension while maximally maintaining the variation of the data. To apply PCA to this work as in [18], we: • formed a data matrix whose rows are SIFT descriptors and centering the data by subtracting the mean of the rows. • computed the singular value decomposition of the centered data matrix A as A = UΣV T . • used the first 25 columns of V to form a projection matrix G. • reduced data dimension by x′ = xG, where x is a descriptor vector in row. performed KNN on data after dimension reduction. PCA+KNN results in a lower detection rate (Table I). This is expected because every component of the 128-D vector is equally weighted and reduction of dimension will lose feature information. E. Analysis We found that, of all methods we employed, KNN was the most successful. KNN allows the most variety in the appearance of plumes in the training set to be maintained for classification. Each of the other classification techniques uses some form information extraction from the training set that limits the ability of the classifier to distinguish between two feature classes. We applied SIFT+KNN to all images from all four missions (Table III). We observed that detection rates for the Voyager and Cassini datasets were significantly higher than for the other two mission dataset. We attribute this to a smaller variety of plume features in these images. Some detected plumes are displayed in Figures 5 and 6. We found that the SIFT+KNN method can detect plumes of different shapes, sizes and orientations. We were able to detect plumes in noisy images and when bright artifacts or features were present. Detections failed either because plumes were lost in glare or classification failed. The misclassification rate can be reduced by enlarging the training set (Table I, for New Horizons data) or using another distance measurement like city-block distance. The city-block distance between two points is the sum of the absolute difference of their coordinates. This distance measure produced better results for New Horizons data (Table I) but did not improve the results for Galileo data. Another way to improve the detection rate while reducing computation time is to use the subset from SVM training (section IV) in KNN. This resulted in a higher detection rate at the expense of increased false detection (Table IV). This tradeoff is acceptable because detecting all plumes is more important that not detecting obvious features. This improvement technique allows all plume characteristics to be identified as positive features; however, one drawback is that this limits the degree of unknown characteristics that can be classified as positive features. One goal of this autonomous processing is to detect and classify unknown features in future mission observations. Limiting the type of feature that a classifier positively identifies could preclude new and geophysically important detections. In addition to positive plume detections, the methods employed here allow the classification of other features, most notably mountain slopes on Io. Mountains on Io are generally tectonic structures but the process by which they form is intimately related to volcanism [22]. Distant and low resolution views do not adequately reveal the presence of mountains; mountains may appear as bright surface features similar to plumes viewed against the surface rather than on the limb. High resolution and more favorable viewing geometries reveal the texture of mountains against the surface and/or their topography in limb views. This means that mountains look similar to plumes against the background surface and would also be detected as plumes by edge detection methods because they are high enough to extend beyond an ellipse that marks the limb. Adding a new feature classifier to our training set used with KNN resulted in the accurate detection of mountains despite their similar appearance to plumes (Figure 8). Array Size Detection Rate (2x2)x8 65.00% (4x4)x4 72.43% (4x4)x8 74.29% (4x4)x16 76.15% (8x8)x8 79.86% TABLE II: Detection rate for different combination of histogram arrays and orientation bins. Cassini Enceladus New Horizons Io Galileo Io Voyager Io Number of test images 23 44 11 81 1st run Detection False rate detections 93.30% 27 70.00% 55 67.67% 19 95.14% 160 2nd run Detection False rate detections 88.20% 23 74.29% 63 72.73% 18 92.47% 157 TABLE III: Statistics of plume detection for different image sets In addition to positive plume detections, the methods employed here allow the classification and detection of other features, most notably mountain slopes. Adding a new feature classifier to our training set used with KNN resulted in the accurate detection of mountains despite their similar appearance to plumes. Some results are shown in Figure 8. Cassini Enceladus New Horizons Io Galileo Io Voyager Io Number of test images 23 44 11 81 1st run Detection False rate detections 98% 167 81% 247 91% 98 95% 1006 2nd run Detection False rate detections 96% 184 84% 251 83% 103 96% 1034 TABLE IV: Statistics of plume detection for different image sets with reduced training set V. C ONCLUSION AND FUTURE WORK We have presented a supervised classification approach to the problem of autonomously detecting plumes in spacecraft data. Using SIFT as the keypoint detector and feature descriptor and K Nearest Neighbours for feature classification, 3434 (a) Galileo 3204r (b) Galileo 5547r (a) Galileo 3485r (b) Galileo 4200r (c) Voyager C2066618 (d) New Horizons 0035860620 (c) Voyager C2066657 (d) Voyager C2067135 (e) New Horizons 0035121557 (f) New Horizons 0035185339 (e) New Horizons 0034974377 (f) New Horizons 0035230642 (g) Cassini N00160965 (h) Cassini W00065147 (g) Cassini N00160861 (h) Cassini N00160995 Fig. 5: Results of SIFT+KNN. Detected plumes are denoted with blue arrows. Some plumes are enlarged and enhanced for clarity. (a)-(f) are Io. (g)-(h) are Enceladus. The bright portion of (f) is a view of Jupiter. Io is in the shadow to the left. The bright feature in (g) is Saturns E-ring. Enceladus is in the background. this method is able to detect a variety of plumes within a limited number of images. It achieves, at best, a 93% detection rate for Cassini images of Enceladus, 74% for New Horizons images of Io, 73% for Galileo images of Io and 95% for Voyager images of Io. Further, we increased the detection rate by using SVM to select some of the training features as the new training set for KNN. Such improvement does result in more false detections with a smaller training set, but we are more concerned with accurately detecting all plumes. This method can also detect mountain slopes on the planetary surface and differentiate them from plumes. Future work will include an effort to develop algorithms for the detection of plume deposits which are not extended Fig. 6: (continued)Results of SIFT+KNN. Detected plumes are denoted with blue arrows. Some plumes are enlarged and enhanced for clarity. (a)-(f) are Io. (g)-(h) are Enceladus. above the surface but do have characteristics distinct from the background surface. Plume deposits have been observed to change over time as new materials are deposited and old materials are degraded or chemically altered; studying these changes in appearance have allowed us to monitor the activity of plumes over the timespan of all spacecraft missions [23]. R EFERENCES [1] C. Porco, P. Helfenstein, P. Thomas, et al., Cassini observes the active south pole of Enceladus, Science 311 (2006) 1393-1401. [2] R. Lopes-Gautier, A. McEwen, W. Smythe, P. Geissler, L. Kamp, A. Davies, J. Spencer, L. Keszthelyi, R. Carlson, F. Leader, et al., Active volcanism on Io: Global distribution and variations in activity, Icarus 140 (1999) 243-264. 3435 (a) New Horizons 0034966580 (b) New Horizons 0035114124 (c) New Horizons 0035140199 (d) Cassini 1487335287 Europa Science Through Onboard Feature Detection In Hyperspectral Images. Lunar and Planetary Science Conference (2011). Abstract Number: 1888. [11] D. R. Thompson, L. Mandrake, M. Gilmore, R. Castano. Superpixel Endmember Detection. Transactions on Geoscience and Remote Sensing, 48(11):4023-4033, Nov.2010 [12] B. Bue, K. Wagstaff, R. Castano, A. Davies. Automatic Onboard Detection Of Planetary Vocanism From Images. Lunar and Planetary Science XXXVIII. 2007. Abstract Number: 1717. [13] D. R. Thompson, M. Bunte, R. Castano, S. Chien, R. Greeley. Onboard Image Processing For Autonomous Spacecraft Detection OF Volcanic Plumes. Lunar and Planetary Science. 2011. Abstract Number: 2433. [14] R. Duda and P. E. Hart, Use of the Hough Transformation to Detect Lines and Curves in Pictures, Comm. ACM, 15, 1115 (1972). [15] D. G. Lowe, Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 60, 2 (2004), pp.91-110. [16] T. M. Cover, P. E. Hart, Nearest Neighbor Pattern Classification, IEEE Transansions on Information Theory, 13 (1): 21-27. [17] C. Cortes, V. Vanpnik, Support-Vector Networks, Machine Learning, 20, 1995 [18] I. T. Jolliffe, Principle Component Analysis. Springer-Verlag.pp.487. 1986. [19] J. Eichhom, O. Chapelle, Object categorization with svm: kernels for local features. Advances in Neural Information Processing Systems, 2004 [20] L. Breiman, J. H. Friedman, R. A. Olshen, C. J. Stone. Classification and regression trees. Monterey, CA: Wadsworth & Brooks/Cole Advanced Books & Software,1984. [21] http://www.stat.berkeley.edu/users/breiman/RandomForests/ [22] E. P. Turtle, W. L. Jaeger, P. M. Shenk, Ionian mountains and tectonics: Insights into what lies beneath Ios lofty peaks, Io After Galileo: A New View of Jupiters Volcanic Moon, Lopes, R.M.C., Spencer, J.R. (Eds.) Springer Praxis. 342pp. (pg. 109-127). 2007. [23] Geissler, P .E., D. B. Goldstein, Plumes and their deposits, Io After Galileo: A New View of Jupiters Volcanic Moon, Lopes, R.M.C., Spencer, J.R. (Eds.) Springer Praxis. 342pp. (pg. 162-192). 2007. Fig. 7: Plumes lost in glare. (a)-(c) are Io. (d) is Enceladus. (a) New Horizons 0034829600 (b) New Horizons 0034940539 (c) New Horizons 0034981639 (d) New Horizons 0035040500 Fig. 8: Classification of mountain slopes (green/light arrows) and plumes (red/dark arrows). (a)-(d) are Io. [3] B. Smith, L. Soderblom, R. Beebe, J. Boyce, G. Briggs, M. Carr, S. Collins, A. Cook, et al., The Galilean satellites and Jupiter: Voyager 2 imaging science results, Science 206 (1979) 927. [4] M. A. Hearn, M. Belton, W. Delamere, L. Feaga, D. Hampton, J. Kissel, K. Klaasen, L. McFadden, K. Meech, H. Melosh, et al., Epoxi at comet Hartley 2, Science 332 (2011) 1396. [5] http://voyager.jpl.nasa.gov/ [6] http://solarsystem.nasa.gov/galileo/ [7] http://saturn.jpl.nasa.gov/index.cfm [8] http://pluto.jhuapl.edu/mission/whereis nh.php [9] A. Castano, A. Fukunaga, J. Biesiadecki, L. Neakrase, P. Whelley, R. Greeley, M. Lemmon, R. Castano, S. Chien. Automatic detection of dust devils and clouds on Mars. Machine Vision and Applica- tions(2008) 19:467-482 [10] M. Bunte, D. R. Thompson, R. Castano, S. Chien, R. Greeley. Enabling 3436