1st orlando, fl, usa iaa-icssa-17-0x-xx towards … pose determination for non-cooperative...

13
1 st IAA Conference on Space Situational Awareness (ICSSA) Orlando, FL, USA IAA-ICSSA-17-0X-XX TOWARDS POSE DETERMINATION FOR NON-COOPERATIVE SPACECRAFT USING CONVOLUTIONAL NEURAL NETWORKS Sumant Sharma (1) , Connor Beierle (1) , Simone D’Amico (2) (1) Ph.D. Student, Department of Aeronautics & Astronautics, Stanford Unviversity, 496 Lomita Mall, Stanford, CA 94305 (2) Assistant Professor, Department of Aeronautics & Astronautics, Stanford Unviversity, 496 Lomita Mall, Stanford, CA 94305 Keywords: spacecraft, on-orbit servicing, monocular, pose, deep learning Spacecraft pose determination using passive sensors such as monocular cam- eras is an essential task in on-orbit servicing and formation flying missions. However, scarcity of training data and a lack of scalable, descriptive, and robust visual features hinder its wide adoption in spaceborne applications. Inspired by recent progress in visual recognition using deep learning approches in terrestrial applications, this report describes a spacecraft pose determination method based on convolutional neural net- works. The transfer learning based method divides the three-dimensional space in several regions and, given an input image, returns the label corresponding to the re- gion where the camera is located. The performance of the method is demonstrated on synthetically generated images of the Tango satellite from the PRISMA mission, simulating a servicer satellite with a monocular camera flying in close proximity (< 10 [m] inter-satellite separation) with the Tango satellite. The network architecture consists of five convolutional layers and three fully-connected layers. The effects of number of pose classes, training dataset size, and image noise characteristics are analyzed through the training of six different networks based on the same architec- ture. The pose labels are then computed for seven different datasets comprising of various image noise and target location properties. Through metrics measuring clas- sification accracy, it is shown that the presented architecture has desirable robustness and scalable properties, which could be used to augment the current state-of-the-art in vision-based pose estimation techniques and used in future formation flying and rendezvous missions. 1. Introduction The on-board determination of the pose, i.e. the relative position and attitude, of a noncooperative client spacecraft using a monocular camera is a key-enabling tech- nology for future on-orbiting servicing and debris removal missions such as e.Deorbit Email addresses: [email protected] (Sumant Sharma), [email protected] (Connor Beierle), [email protected] (Simone D’Amico) 1

Upload: doantruc

Post on 23-May-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

1st IAA Conference on Space Situational Awareness (ICSSA)

Orlando, FL, USA

IAA-ICSSA-17-0X-XXTOWARDS POSE DETERMINATION FOR NON-COOPERATIVE SPACECRAFT

USING CONVOLUTIONAL NEURAL NETWORKS

Sumant Sharma(1), Connor Beierle(1), Simone D’Amico(2)

(1)Ph.D. Student, Department of Aeronautics & Astronautics, Stanford Unviversity, 496Lomita Mall, Stanford, CA 94305

(2)Assistant Professor, Department of Aeronautics & Astronautics, StanfordUnviversity, 496 Lomita Mall, Stanford, CA 94305

Keywords: spacecraft, on-orbit servicing, monocular, pose, deep learning

Spacecraft pose determination using passive sensors such as monocular cam-eras is an essential task in on-orbit servicing and formation flying missions. However,scarcity of training data and a lack of scalable, descriptive, and robust visual featureshinder its wide adoption in spaceborne applications. Inspired by recent progress invisual recognition using deep learning approches in terrestrial applications, this reportdescribes a spacecraft pose determination method based on convolutional neural net-works. The transfer learning based method divides the three-dimensional space inseveral regions and, given an input image, returns the label corresponding to the re-gion where the camera is located. The performance of the method is demonstratedon synthetically generated images of the Tango satellite from the PRISMA mission,simulating a servicer satellite with a monocular camera flying in close proximity (<10 [m] inter-satellite separation) with the Tango satellite. The network architectureconsists of five convolutional layers and three fully-connected layers. The effects ofnumber of pose classes, training dataset size, and image noise characteristics areanalyzed through the training of six different networks based on the same architec-ture. The pose labels are then computed for seven different datasets comprising ofvarious image noise and target location properties. Through metrics measuring clas-sification accracy, it is shown that the presented architecture has desirable robustnessand scalable properties, which could be used to augment the current state-of-the-artin vision-based pose estimation techniques and used in future formation flying andrendezvous missions.

1. Introduction

The on-board determination of the pose, i.e. the relative position and attitude, ofa noncooperative client spacecraft using a monocular camera is a key-enabling tech-nology for future on-orbiting servicing and debris removal missions such as e.Deorbit

Email addresses: [email protected] (Sumant Sharma), [email protected] (ConnorBeierle), [email protected] (Simone D’Amico)

1

and PROBA-3 by ESA [1], ANGELS by US Air Force [2], PRISMA by OHB Sweden [3],OAAN [4] and Restore-L by NASA [5], and CPOD by Tyvak [6]. The knowledge of thecurrent pose of the client spacecraft during proximity operations allows real-time gen-eration of the full-degrees-of-freedom approach trajectory and control update [7]. Thisaspect is crucial in noncooperative maneuvers, since the kinematic characteristics ofthe client are unknown before the launch of the mission and, therefore, the rendezvousand docking trajectory must be generated on-board using the current state estimates.In contrast to other state-of-the-art systems based on LiDAR and stereo camera sen-sors, monocular navigation ensures rapid pose determination under low power andmass requirements [8]. In particular, fast estimation of the pose with centimeter-levelaccuracy guarantees robustness to sensor noise during docking maneuvers to tum-bling spacecraft [7]. Due to these reasons, monocular pose determination is a naturalcandidate to be a part of the navigation system in future formation flying missions.However, monocular navigation is challenging using space imagery due to the low im-age acquisition rate, low signal-to-noise ratio, and challenging illumination conditions.

This work introduces a deep-learning based algorithm to pose determination, whichhas the potential to be used in providing an initial guess of the pose at test time. Thisinitial pose can then be used to kick start a navigation filter or be refined to providea finer pose estimate. The input to this algorithm is a RGB image of a target satellitetaken at close proximity (< 10 [m] intersatellite separation). It then uses a ConvolutionalNeural Network (CNN) to output a predicted label corresponding to a region in the six-dimensional pose space.

2. Related Work

The existing state-of-the-art on monocular pose determination for spacecraft de-pend on classical image processing algorithms that identify visible target features [9,10, 11]. These features are then matched against a reference texture model of thespacecraft to estimate the pose. This routine is executed in closed-loop for pose track-ing using filtering techniques. Generally, the pose solver is an iterative algorithm thatminimizes a certain fit error between the features detected in the image and the cor-responding features of a reference model. This type of navigation system requires apose initialization procedure that determines attitude and distance of the client withoutany a-priori state information. This routine is necessary to start the tracking proce-dure in closed-loop. Large errors in pose initialization often lead to divergence of thepose tracking and finding a fast and robust solution for it is an area of active research[12, 13]. Some authors propose to utilize data fusion techniques by augmenting themonocular sensor with additional sensors such as lasers or stereo cameras. Whilethese approaches have the potential to increase precision, they also increase thecomputational cost and drive up the system mass, power, and volume. Such con-siderations are especially critical for formation flying missions in space utilizing smallsatellite platforms.

In contrast to multi-sensor approaches, this work presents an efficient pose initial-ization method based on a monocular camera and a pre-trained CNN. This is a well-researched problem in the domain of terrestrial applications [14, 15, 13, 16, 17, 18, 19,20, 21]. In particular, Render for CNN [16] proposes the use of a CNN to solve a classi-fication problem for pose determination problem as opposed to a regression problem.The method is exhibited for a variety of 3D models present in terrestrial environments.

2

This is a clever way to solve the problem since if the output layer uses a softmax typeloss, the output could then be used as a covariance (i.e., confidence) metric in the nav-igation filter. Additionally, this approach can be combined with a sliding-window overan image to solve the detection problem as shown by Romano [13] and Sermanet et.al. [18].

Taking cues from the aforementioned state-of-the-art pose determination methodsused in terrestrial applicaitons, this work proposes a deep-learning based pose de-termination method for spaceborne applications. Further, this work investigates themethod’s performance and robustness using synthetic space imagery. Since low-level features for both terrestrial and spaceborne applications can be hypothesizedto be similar, the five convolutional layers of the CNN are pre-trained with imagesfrom the ImageNet dataset [22] while only the fully connected layers of the networkare trained with synthetically generated images of the Tango satellite of the PRISMAmission [23, 24]. This transfer learning approach reduces the requirement to gener-ate huge image datasets and has the potential to be refined further with the inclusionof real images as they become available during the mission. The architecture of theAlexNet network is adopted as the baseline architecture [25] for this work.

3. Framework

Since there is a lack of image datasets available for spaceborne objects such assatellites, a significant effort was put into synthetic dataset creation and the utilizationof terrestrial images during training. Both of these aspcts are discussed in greaterdetail in the following sub-sections.

3.1. Synthetic Dataset CreationThe proposed method requires a pre-trained CNN for determining the camera posi-

tion and attitude. Since training typically requires a high number of images (a few thou-sand per class for a network the size of AlexNet) and there are no benchmark datasetscontaining space imagery, we generate synthetic images of the Tango spacecraft usedin the PRISMA mission [26]. Each generated image is constrained to be of 224 pixelsby 224 pixels so that it could be directly used as an input in the first convolutional layerof AlexNet. The camera field of view was selected to be 31.5 degrees, modeling afterthe close range camera flown aboard the Mango spacecraft of the PRISMA mission.For each synthetic image, we defined the position and attitude of the target body framewith respect to the camera frame. A set of points are selected in the three-dimensionalspace along the surface of a sphere surrounding the Tango spacecraft. To account forscale, spheres of three different radii are selected.

To show how the points of the three spheres in Figure 1 are selected, let us firstdefine the target object reference frame, T , and the camera reference frame, C, asshown in Figure 2. The relative attitude between the two frames can be describedby a set of Euler angles, α, β, γ. Each of these Euler angles are defined betweenvalues of 0 and 360 degrees. We discretized this range in 22 linearly equally spacedpoints. This produced a set of 10648 points in the three dimensional Euler anglespace. For a given radius of the sphere shown in Figure 1, these points produce10648 camera orientations. We then chose the magnitude of the relative position ofthe target satellite w.r.t. the camera,

∥∥∥Ct∥∥∥, (or the radii of the spheres in Figure 1) as 3

meters, 5 meters, and 9 meters, producing a total of 31404 images. For each of these

3

Figure 1: Visualization of the viewpoints used in the synthetic dataset creation. Left:Partial visualization. Right: Complete visualization. A wireframe model of Tango satel-lite (in orange) is shown here but a complete texture model was used during imagerendering.

images, we produced 3 more copies with varying levels of Zero Mean White GaussianNoise (ZMWGN). In particular, the variance of the three levels of noise was selectedas 0.01, 0.05, and 0.1 (note that image intensity in the three RGB channels variesfrom 0 to 1). Typical images taken in spaceborne applications suffer from high levelsof noise due to small sensor sizes and high dynamic range imaging. Therefore, it isimperative to create synthetic images that also possess similar noise characteristics.Finally, for each of the 31404 noise-free images, we created three additional copiesin which the target satellite was not aligned with the center of the image plane. Thissimulated cases where a satellite is imaged but is in one corner of the image plane,possibly with a few of its features outside the field of view of the camera. The imageswere rendered using the PyOpenGL library.

Camera Frame C Target Frame T

Ct

Figure 2: The two reference frames used in synthetic image generation.

When training a neural network, correctly labeled datasets are an essential pre-4

requisite. From the previous section, we obtained a superset of 74536 images thatare each associated with a 3D Euler angle set and an inter-satellite distance. Di-rectly using this four-dimensional pose tag to label the image is problematic sincevastly different values of the 3D Euler angle set can produce visually similar lookingimages. Therefore, we need to properly discretize the domain to label the images. Theadopted discretization consists of selecting six directions around the target spacecraft(see Figure 3). For each of the images in the superset, we compute the axis-anglerepresentation of the attitude change required to match each of the six directions. Thedirection associated with the smallest angular change is selected as the label for theimage. We select one out of three possible labels for each possible direction basedon the inter-satellite range used while synthesizing the image. Since many imagesare “between” classes such that their visual appearance could match either of twoclasses, we have currently decided to only include those images in the experimentsthat are within 30 degrees of a direction shown in Figure 3. This has effectively reducedthe size of the superset to 10192. This superset is used to compose seven separatedatasets, the details of which are presented in Table 1. The number of images in thetraining, validation, and test sets for all datasets except for “Clean-18” were 873, 291,and 437, respectively. The number of images in the training, validation, and test set ofthe “Clean-18” dataset were 2619, 873, and 1311, respectively.

Figure 3: The camera locations used to define 6 of the 18 classes in the dataset Clean-18. The other 12 are oriented similar to the ones shown here but are at larger separationsfrom the target.

3.2. Convolutional Neural NetworkThe CNN used in this work adopts the structure of the AlexNet architecture [25].

AlexNet was chosen over networks such as VGG [27] and Inception [28] due to itsrelatively lower number of parameters. Moreover, since the datasets aren’t quite aslarge as typically used with these neworks, our method relies on transfer learning. Thehypothesis is that low level features detected by the first few layers of a CNN are thesame across the terrestrial and spaceborne domains. Therefore, only the parameters

5

0 1

Figure 4: A montage of some images associated with Class 0 (left) and Class 1 (right).

2 3

Figure 5: A montage of some images associated with Class 2 (left) and Class 3 (right).

4 5

Figure 6: A montage of some images associated with Class 4 (left) and Class 5 (right).

in the last few layers need to be determined to adapt the network to a spaceborneapplication. The AlexNet architecture was used to train six networks with varying sizeand composition of the training set. The description of the six networks is presented inTable 2.

The AlexNet architecture is shown in Figure 10, it contains eight layers with weights,

6

Table 1: Description of the eight datasets created from the synthesized images. Thedatasets Clean, Gaussian-1, Gaussian-5, and Gaussian-10 had the target located at Ct =[0.0, 0.0, 3.0] meters while the dataset Clean-18 had equal distribution of images with thetarget located at Ct = [0.0, 0.0, 3.0], [0.0, 0.0, 5.0], [0.0, 0.0, 9.0] meters.

Dataset Name Description # poseclasses

Clean No noise, centered target 6Clean-18 No noise, centered target 18Gaussian-1 ZMGWN with variance of 0.01, centered target 6Gaussian-5 ZMGWN with variance of 0.05, centered target 6Gaussian-10 ZMGWN with variance of 0.1, centered target 6Centered-1 No noise, Ct = [0.2, 0.0, 3.0] meters 6Centered-2 No noise, Ct = [0.0, 0.2, 3.0] meters 6Centered-3 No noise, Ct = [0.2, 0.2, 3.0] meters 6

Table 2: Description of the six networks trained for this work. Note that the columnsrepresent the number of training images used from the particular dataset. The networknet6 was the only network trained for 18 classes while the other five networks weretrained to classify between 6 classes.

Network Name Clean Gaussian-1 Clean-18

net1 873 0 0net2 728 0 0net3 582 0 0net4 436 0 0net5 873 436 0net6 0 0 2619

the first five are convolutional layers and the remaining three are fully-connected layers.The output of the last fully-connected layer is used in a 6-way (or an 18-way, dependingon the network) softmax which produces a distribution over the class labels. Thenetwork maximizes the multinomial logistic regression objective, which is equivalent tomaximizing the average across training cases of the log-probability of the correct labelunder the prediction distribution. The softmax loss is calculated as:

Losssoftmax =

N∑i=1

Li (1)

where

Li = − log(

e fyi∑j e f j

)(2)

The “dropout” technique [29] was used while training the fully connected layers.This technique consists of setting to zero the output of each hidden neuron with prob-ability of 0.5. The “dropped” neurons do not contribute to the forward pass and do notparticipate in backpropagation. Therefore, the technique reduces the possibility of co-adaptations of neurons, i.e., neurons cannot rely on the presence of particular other

7

Figure 7: An illustration of the architecture of AlexNet, explicitly showing thedelineation of responsibilities of the two GPUs. The network’s input is 150,528-dimensional, and the number of neurons in the network’s remaining layers isgiven by 253,440–186,624–64,896–64,896–43,264–4096–4096–6. The last layerhad 18 neurons for network used in the Clean-18 dataset.

neurons but instead learn more robust features. Secondly, horizontal reflection of im-ages was utilized for “net1”,“net2”,“net3”,“net4”, and “net5” which effectively increasedthe size of the training set by a factor of two. This data augmentation technique washypothesized to reduce overfitting on the image data by artificially enlargening thedataset. However, it was later found that Class 5 and Class 6 were visually quite closeto be horizontal mirrors of each other, therefore, this data augmentation technique wasnot used for “net6”.

4. Experiments

In this section we compare the results of evaluating every dataset with every net-work (net6 was only used on Clean-18 dataset). The comparison is based on theaccuracy of the predictions and the F-Measure (FM) of the classifications. The resultspresented here are based on testing the networks on the testset of the datasets de-scribed in Table 1. In particular, the accuracy is defined as the percentage of the testimages that were correctly classified by the network. FM of the classifications is basedon the precision and recall, which are well-known metrics for classification problems.They are based on the number of false positives (FP), false negatives (FN), and truepositives (T P) over several samples. In order to compute these values, we treat eachclass as a binary classification problem, defining a positive sample when it belongs tothat class, and negative otherwise.

precision =T P

(T P + FP)(3)

recall =T P

(T P + FN)(4)

These are then used to calculate the F-Measure:

FM = 2 ·precision · recallprecision + recall

(5)

8

clean gaussian-1 gaussian-5 gaussian-10 uncentered-1uncentered-2uncentered-3

Dataset

0

10

20

30

40

50

60

70

80

90

100

Accura

cy [%

]

net1

net2

net3

net4

net5

Figure 8: Accuracy [%] for seven datasets using five separate networks.

There are several trends as seen in Figure 8, which shows the accuracy of fiveseparately trained networks on six different datasets. Firstly, all networks are moreor less equally capable in classifying images in the clean dataset where images arefree from noise and the target is centered in the image plane (all networks trainedin this work were trained with centered targets). This shows that the networks havea vast number of parameters and can easily overfit the features seen in the images.Secondly, the inclusion of noise in the test images produces a decline in accuracy. No-tably, “net5” fares quite well as compared to the other networks as it used some noisyimages during training. This means that as long as sensor noise is known and canbe modeled beforehand, the CNNs can be made to be more robust to noise throughthe augmentation of training data with noise. Thirdly, the accuracy of the networkscorrelates with the number of training images used during training since “net1”, whichwas trained with more images than “net2”, “net3”, and “net4” has higher accuracy forClean, Uncentered-1, Uncentered-2, and Uncentered-3 datasets.

The degradation in the performance of the networks in the presence of noise isalso apparent in Figure 9 which shows the FM for each class for all five networks. Thenetwork “net5” shows the most robustness but seems to struggle between Classes5 and 6, most likely due to the use of horizontal mirroring that was used during itstraining. This same phenomenon is also apparent in Figure 10, which shows theperformance of the networks on the Clean dataset.

Finally, we trained and tested “net6” using the Clean-18 dataset without data aug-mentation. The network produced an accuracy of 99.4%, which was significantlyhigher than any other networks trained on smaller datasets with data augmentation.To visualize how the network had learned to separate the 18 different classes, weembedded the testset images of Clean-18 according to their features from the penulti-mate fully connected layer. We used the t-Distributed Stochastic Neighbor Embedding(tSNE) technique for dimensionality reduction. This technique represents images asnodes in a graph and arranges the nodes in two dimensions a manner which respectsthe high-dimensional L2 distances between their features. In other words, tSNE ar-ranges images that have similar features nearby in a 2D embedding. This can be visu-alized in Figure 14 for the Clean-18 testset images, where images from three differentinter-satellite ranges are represented by different marker types. It can be easily seen

9

1 2 3 4 5 6

Class

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

F-m

easure

Gaussian-1

net1

net2

net3

net4

net5

((1)) Gaussian-1

1 2 3 4 5 6

Class

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

F-m

easure

Gaussian-5

net1

net2

net3

net4

net5

((2)) Gaussian-5

1 2 3 4 5 6

Class

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

F-m

easure

Gaussian-10

net1

net2

net3

net4

net5

((3)) Gaussian-10

1 2 3 4 5 6

Class

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

F-m

easure

Uncentered-1

net1

net2

net3

net4

net5

((4)) Uncentered-1

1 2 3 4 5 6

Class

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

F-m

easure

Uncentered-2

net1

net2

net3

net4

net5

((5)) Uncentered-1

1 2 3 4 5 6

Class

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

F-m

easure

Uncentered-3

net1

net2

net3

net4

net5

((6)) Uncentered-1

Figure 9: F-Measure vs. Class for various datasets for the five networks.

1 2 3 4 5 6

Class

0.5

0.55

0.6

0.65

0.7

0.75

0.8

0.85

0.9

0.95

1

F-m

easure

Clean

net1

net2

net3

net4

net5

Figure 10: F-Measure [%] for the five networks on the Clean dataset.

that the network has learned to differentiate images from separate ranges. Moreover,for each range, certain classes are learned to be closer as compared to the others.This is to be expected since for example, Class 5 and Class 6 visually do look similar(in fact, they are close to being horizontal mirrors of each other).

5. Conclusion

In this work, we successfully set up a framework for pose determination using con-volutional neural networks, and exhaustively tested it against different datasets. Someinteresting conclusions can be drawn from these experiments, which can be used asthe building blocks for the development of navigation systems in future formation flyingmissions. Firstly, the size of training set is shown to correlate with accuracy. This war-rants generation of even larger synthetic datasets by introducing slight variations in thetarget location and orientation. Secondly, the networks had greater than 95% classifi-

10

-40 -30 -20 -10 0 10 20 30 40 50

-50

-40

-30

-20

-10

0

10

20

30

40t-SNE, 18 class, net6

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Figure 11: tSNE representation of the Clean-18 testset images.

cation accuracy for the 6 class problem while “net6” had 99.4% classification accuracyfor the 18 class problem. This warrants that as long as the sensor noise could be mod-eled beforehand or removed using pre-processing techniques, CNNs have a greatpotential for pose determination. To challenge them, it is recommended to simulate il-lumination conditions typical in space which produce high contrast images as well as toinclude background objects such as the Earth, the Moon, and the Sun. Lastly, all net-works were trained using the transfer learning approach which only required training ofthe last few layers. This proves that several low level features of spaceborne imageryare also present in terrestrial objects and there is no need to train a network com-pletely from scratch for spaceborne applications. However, there are several caveatsin the presented work and potential for future development and enhancements. Firstly,a comparative assessment of this CNN-based pose determination method versus con-ventional pose determination methods relying on hand-engineered features needs tobe conducted. Secondly, in contrast to terrestrial applicaitons, perfect prior knowledgeof the scene and illumination conditions is not possible for spaceborne applications.Hence, the relationship of fidelity of the synthetic training dataset with the navigationperformance at test time needs to be further assessed. Lastly, far more than 18 poseclasses are required for a CNN-based method to be used in an actual spaceborneformation flying mission. Hence, the six-dimensional pose domain needs to be morefinely discretized to improve pose accuracy. The effect of this finer discretization onthe classification accuracy also needs to be assessed. Finally, the classification andpose accuracy of this method on actual space imagery needs to evaluated.

11

Acknowledgments

The authors would like to thank The King Abdulaziz City for Science and Technol-ogy (KACST) Center of Excellence for research in Aeronautics & Astronautics (CEAA)at Stanford University for sponsoring this work.

References

[1] L. T. Castellani, J. S. Llorente, J. M. F. Ibarz, M. Ruiz, PROBA-3 mission, International Journal ofSpace Science and Engineering 1 (2013).

[2] A. F. R. Laboratory, Fact sheet: Automated navigation and guidance experiment for local space(ANGELS), 2013.

[3] S. D’Amico, J.-S. Ardaens, R. Larsson, Spaceborne Autonomous Formation-Flying Experiment onthe PRISMA Mission, Journal of Guidance, Control, and Dynamics 35 (2012) 834–850.

[4] J. Pei, M. Walsh, C. Roithmayr, C. Karlgaard, L. Murchison, Preliminary GN&C Design for theOn-Orbit Autonomous Assembly of Nanosatellite Demonstration Mission, 2017.

[5] B. B. Reed, R. C. Smith, B. J. Naasz, J. F. Pellegrino, C. E. Bacon, The Restore-L ServicingMission, in: AIAA Space Forum, Long Beach, CA, pp. 1–8.

[6] J. Bowen, M. Villa, A. Williams, CubeSat based Rendezvous, Proximity Operations, and Dockingin the CPOD Mission, 29th Annual AIAA/USU Small Satellite (2015) SSC15–III–5.

[7] J. Ventura, M. Ciarcia, M. Romano, U. Walter, Fast and Near-Optimal Guidance for Docking toUncontrolled Spacecraft, Journal of Guidance, Control, and Dynamics (2016) 1–17.

[8] J. Ventura, Autonomous Proximity Operations for Noncooperative Space Target, Ph.D. thesis,Technical University of Munich, 2016.

[9] A. Cropp, P. Palmer, Pose Estimation and Relative Orbit Determination of a Nearby Target Mi-crosatellite using Passive Imagery, 5th Cranfield Conference on Dynamics and Control of Systemsand Structures in Space 2002 (2002) 389–395.

[10] M. Benn, Vision Based Navigation Sensors for Spacecraft Rendezvous and Docking, Ph.D. thesis,Danish Technical University, 2010.

[11] K. Kanani, A. Petit, E. Marchand, T. Chabot, B. Gerber, Vision Based Navigation for Debris Re-moval Missions, 63rd International Astronautical Congress (2012) 1–8.

[12] S. Sharma, S. D’Amico, Comparative Assessment of Techniques for Initial Pose Estimation usingMonocular Vision, Acta Astronautica (2015) 1–17.

[13] A. R. Romano, 3D Pose Estimation Using Convolutional Neural Networks, Ph.D. thesis, EscolaTecnica Superior d’Enginyeria Industrial de Barcelona, 2015.

[14] P. Wunsch, S. Winkler, G. Hirzinger, Real-Time Pose Estimation of 3-D Objects from CameraImages Using Neural Networks Institute for Robotics and System Dynamics, in: InternationalConference on Robotics and Automation, Albuquerque, New Mexico, pp. 3232–3237.

[15] A. Khotanzad, J. J. H. Liou, Recognition and pose estimation of unoccluded three-dimensionalobjects from a two-dimensional perspective view by banks of neural networks, IEEE Transactionson Neural Networks 7 (1996) 897–906.

[16] H. Su, C. R. Qi, Y. Li, L. J. Guibas, Render for CNN: Viewpoint estimation in images using CNNstrained with rendered 3D model views, Proceedings of the IEEE International Conference onComputer Vision 11-18-Dece (2016) 2686–2694.

[17] M. W. Wright, F. Fallside, Object Pose Estimation by Neural Network, in: International Conferenceon Image Processing and its Applications, IET, Maastricht, Netherlands, 1992, pp. 602–603.

[18] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, Y. LeCun, OverFeat: Integrated Recog-nition, Localization and Detection using Convolutional Networks (2013).

[19] J. Tompson, A. Jain, Y. LeCun, C. Bregler, Joint Training of a Convolutional Network and a Graph-ical Model for Human Pose Estimation (2014) 1–9.

[20] A. Toshev, C. Szegedy, DeepPose: Human pose estimation via deep neural networks, The IEEEConference on Computer Vision and Pattern Recognition (CVPR) (2014) 1653–1660.

[21] P. Viola, W. Wells, Alignment by maximization of mutual information, Proceedings of IEEE Inter-national Conference on Computer Vision (1995) 16–23.

[22] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla,M. Bernstein, A. C. Berg, L. Fei-Fei, ImageNet Large Scale Visual Recognition Challenge, Inter-national Journal of Computer Vision 115 (2015) 211–252.

12

[23] P. Bodin, R. Noteborn, R. Larsson, T. Karlsson, S. D’Amico, J.-S. Ardaens, M. Delpech, J. C.Berges, The prisma formation flying demonstrator: Overview and conclusions from the nominalmission, Advances in the Astronautical Sciences 144 (2012) 441–460.

[24] S. D’Amico, M. Benn, J. L. Jørgensen, Pose estimation of an uncooperative spacecraft from actualspace imagery, International Journal of Space Science and Engineering 2 (2014) 171.

[25] A. Krizhevsky, I. Sutskever, G. E. Hinton, ImageNet Classification with Deep Convolutional NeuralNetworks, Advances In Neural Information Processing Systems (2012) 1–9.

[26] S. D’Amico, P. Bodin, M. Delpech, R. Noteborn, PRISMA, in: M. D’Errico (Ed.), Distributed SpaceMissions for Earth System Monitoring, 2013, pp. 599–637.

[27] K. Simonyan, A. Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recogni-tion (2014) 1–14.

[28] C. Szegedy, S. Ioffe, V. Vanhoucke, A. Alemi, Inception-v4, Inception-ResNet and the Impact ofResidual Connections on Learning (2016).

[29] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, R. R. Salakhutdinov, Improving neuralnetworks by preventing co-adaptation of feature detectors (2012) 1–18.

13