Titre : | Behavior Improvement of Robot Using Deep Learning |
Auteurs : | Takkie Eddine Halimi, Auteur ; Fayçal Guerrouf, Directeur de thèse |
Type de document : | Monographie imprimée |
Editeur : | Biskra [Algérie] : Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie, Université Mohamed Khider, 2018 |
Format : | 1 vol. (111 p.) / 30 cm |
Langues: | Anglais |
Résumé : |
Technological advances are currently being directed to assist the human population in performing ordinary tasks in every day. In this context, a key issue is the interaction with objects of varying size,shape and degree of mobility. Consequently, autonomous assistive robots must be provided with the ability to process visual data in real time so that they can react adequately for quickly adapting to changes in the environment. Reliable object detection and recognition is usu-ally a necessary early step to achieve this goal. Deep learning methods have proven highly effective for object recognition tasks, especially in the form of artificial neural networks. In this Master’s thesis, a way is shown to improve NAO behaviour using object recognition based robotics operating system. Recognition of multiple objects at once is realized with the help of Tensorflow Multibox Algorithm. The object recognition implementation are rated ,evaluated and analyzed in several tests |
Sommaire : |
Contents I Robotics 10 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Robotics and the History of Robots . . . . . . . . . . . . 11 3 What is a Robot ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Reasons for Using Robots . . . . . . . . . . . . . . . . . . . . 12 5 Robotics and Artificial Intelligence . . . . . . . . . . . . 13 5.1 Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2 Artificial Intelligence . . . . . . . . . . . . . . . . . . . . 14 5.2.1 def 1 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.2 def 2 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.3 Artificially Intelligent Robots . . . . . . . . . . . . . 14 6 Types of Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.1 Industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2 Domestic robots (household) . . . . . . . . . . . . . . . . . 16 6.3 Medical robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.4 Service robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.5 Military robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.6 Entertainment robots . . . . . . . . . . . . . . . . . . . . . . . 16 6.7 Space robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.8 Hobby and competition robots . . . . . . . . . . . . . . . . 17 6.9 Humanoid robots . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7 NAO Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 8 NAO Evolution History . . . . . . . . . . . . . . . . . . . . . . 18 9 NAO Software/Hardware . . . . . . . . . . . . . . . . . . . . 18 9.1 NAO Specifications . . . . . . . . . . . . . . . . . . . . . . 19 9.2 NAO Components . . . . . . . . . . . . . . . . . . . . . . . 19 9.2.1 Sonars . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.2.2 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . 22 9.2.3 Cameras . . . . . . . . . . . . . . . . . . . . . . . . . . 22 9.2.4 Voice Listening /Speaking . . . . . . . . . . 23 9.2.5 Motors . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9.2.6 LED’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 9.3 The NAOqi Framework . . . . . . . . . . . . . . . . . . 25 9.4 The NAOqi Architecture . . . . . . . . . . . . . . . . . 25 9.4.1 Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 9.4.2 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . 26 10 The Field of Applications. . . . . . . . . . . . . . . . . . . . . 27 11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 II Robotics Operating System 29 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2 What is ROS ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3 Why we need ROS ?. . . . . . . . . . . . . . . . . . . . . . . . . 30 4 ROS Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5 ROS CONCEPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.1 ROS Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.2 ROS Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3 ROS Topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.4 ROS Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.5 ROS Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6 ROS messages types . . . . . . . . . . . . . . . . . . . . . . . . . 37 7 ROS tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.1 RVIZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.2 The TF librery . . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.3 ROS rqt-graph . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.4 ROS MoveIt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.5 OpenCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 III Deep Learning 44 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . 44 2 Biological Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.1 Cell Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2 Dendrites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.3 Axon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.4 Neuron Action Potentials Working . . . . . . . . 46 3 Biological Neural Networks . . . . . . . . . . . . . . . . . . 48 4 Artificial Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5 Activation Function . . . . . . . . . . . . . . . . . . . . . . . . . 50 6 Activation functions types . . . . . . . . . . . . . . . . . . . . 50 6.1 Linear or Identity Activation Function . . . . . 50 6.2 Non-linear Activation Function . . . . . . . . . . . 51 6.2.1 Sigmoid or Logistic Activation Function 51 6.2.2 Tanh or hyperbolic tangent Activation Function . . . . . . . . .. . . . . . . . . 52 6.2.3 ReLU (Rectified Linear Unit) Activation Function . . . . . . . . . . . . . . . . . . . . . 52 7 Training of Artificial Neuron . . . . . . . . . . . . . . . . . . 53 8 Artificial Neural Network . . . . . . . . . . . . . . . . . . . . 54 9 Artificial Neural Network Types . . . . . . . . . . . . . . . 54 9.1 Feed-forward artificial neural networks . . . . 55 9.1.1 Feed-forwar Single Layer perceptron . 55 9.1.2 Feed-forwar Multilayer perceptron . . . 55 9.2 Recurrent Artificial Neural Networks . . . . . . 56 10 Learning types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 10.1 Supervised learning . . . . . . . . . . . . . . . . . . . . . 57 10.2 Unsupervised learning . . . . . . . . . . . . . . . . . . . 58 10.3 Reinforcement learning . . . . . . . . . . . . . . . . . . 59 11 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 12 Deep Learning vs Machine Learning . . . . . . . . . . . 60 13 Deep Learning Global Architecture . . . . . . . . . . . . 61 14 Deep Learning models . . . . . . . . . . . . . . . . . . . . . . . 62 14.1 Convolutional Neural Network . . . . . . . . . . . 62 14.2 Recurrent Neural Network . . . . . . . . . . . . . . . 62 14.3 Generative Adversarial Networks . . . . . . . . . 63 15 Importance of Deep Learning . . . . . . . . . . . . . . . . 63 16 Convolutional Neural Networks . . . . . . . . . . . . . . . 64 17 CNN Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 18 Layers for building CNN . . . . . . . . . . . . . . . . . . . . . 65 19 Layers of CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 19.1 Convolution layers . . . . . . . . . . . . . . . . . . . . . . 66 19.2 Pooling/subsampling layers . . . . . . . . . . . . . . 68 19.3 Fully connected layers . . . . . . . . . . . . . . . . . . 69 20 Backpropagation and Gradient Descent for CNN 69 20.1 Cross-Correlation . . . . . . . . . . . . . . . . . . . . . . . 70 20.2 Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 20.3 CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 20.4 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 20.5 Foward Propagation . . . . . . . . . . . . . . . . . . . . . 72 20.7 Backpropagation . . . . . . . . . . . . . . . . . . . . . . . 75 21 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 IV Related Works 83 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2 Work with NAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.1 Naoqi OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.2 ALVisionRecognition Module . . . . . . . . . . . . . 84 3 Work with NAO Using Android App . . . . . . . . . . . 84 V Design and Implementation 85 1 Introduction. . . . . . . . . . . . . . . . . . . . . 85 2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.1 ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.2 NAO Robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.3 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3.4 NAO Android Application . . . . . . . . . . . . . . . . 92 4 Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.1 Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2 ROS and NAO Installation Options . . . . . . . . 93 4.2.1 ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.1.1 Setup our sources.list . . . . . . . . . 94 4.2.1.2 Setup our Keys . . . . . . . . . . . . . . . 94 4.2.1.3 Installation . . . . . . . . . . . . . . . . . . 94 4.2.1.4 Initialize rosdep . . . . . . . . . . . . . . 95 4.2.1.5 Environment setup . . . . . . . . . . . 95 4.2.2 Naoqi for ROS . . . . . . . . . . . . . . . . . . . . 95 4.2.3 ROS Packages for NAO Robot . . . . . . . 97 4.2.4 Deep learning Frameworks . . . . . . . . . 97 4.2.4.1 Tensorflow. . . . . . . . . . . . . . . . . . . 97 4.2.4.2 Keras . . . . . . . . . . . . . . . . . . . . . . . 98 4.3 The CIFAR-10 and CIFAR-100 dataset . . . . . 98 4.4 The COCO dataset . . . . . . . . . . . . . . . . . . . . . . 99 4.5 Learning CNN Model with Keras . . . . . . . . . . 100 4.5.1 Import Libraries and Modules . . . . . . . 100 4.5.2 Load Image Data from CIFAR-100 . . . 101 4.5.3 Preprocess Input Data for Keras . . . . . 101 4.5.4 Define Model Architecture . . . . . . . . . . 101 4.5.5 Compile Model . . . . . . . . . . . . . . . . . . . . 103 4.5.6 Fit Model on Training Data . . . . . . . . . 103 4.5.7 Evaluate Model on Test Data . . . . . . . . 103 4.6 Evaluation of Model Results . . . . . . . . . . . . . . 103 4.7 NAO/ROS/CNN Model . . . . . . . . . . . . . . . . . . 104 5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 References 109 |
Disponibilité (1)
Cote | Support | Localisation | Statut |
---|---|---|---|
MINF/399 | Mémoire master | bibliothèque sciences exactes | Consultable |