ABSTRACT
Genetic Improvement (GI) performs a search at the level of source code to find the best variant of a baseline system that improves non-functional properties while maintaining functionality with noticeable results in several domains. There a many aspects of this general approach that are currently being explored. In particular, this work deals to the way in which the search is guided to efficiently explore the search space of possible software versions in which GI operates. The proposal is to integrate Novelty Search (NS) within the GISMOE GI framework to improve KinectFusion, which is a vision-based Simultaneous Localization and Mapping (SLAM) system that is used for augmented reality, autonomous vehicle navigation, and many other real-world applications. This is one of a small set of works that have successfully combined NS with a GP system, and the first time that it has been used for software improvement. To achieve this, we propose a new behaviour descriptor for SLAM algorithms, based on state-of-the-art benchmarking and present results that show that NS can produce significant improvement gains in a GI setting, when considering execution time and trajectory estimation as the main performance criteria.
- P. J. Besl and N. D. McKay. 1992. A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence 14, 2 (Feb 1992), 239--256. Google ScholarDigital Library
- B. Bodin, L. Nardi, M. Z. Zia, H. Wagstaff, G. S. Shenoy, M. Emani, J. Mawer, C. Kotselidis, A. Nisbet, M. Lujan, B. Franke, P. H. J. Kelly, and M. O'Boyle. 2016. Integrating algorithmic parameters into benchmarking and design space exploration in 3D scene understanding. In 2016 International Conference on Parallel Architecture and Compilation Techniques (PACT). 57--69. Google ScholarDigital Library
- Cesar Cadena, Luca Carlone, Henry Carrillo, Yasir Latif, Davide Scaramuzza, Jose Neira, Ian Reid, and John J. Leonard. 2016. Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age. Trans. Rob. 32, 6 (Dec. 2016), 24. Google ScholarDigital Library
- Andrew J. Davison, Ian D. Reid, Nicholas D. Molton, and Olivier Stasse. 2007. MonoSLAM: Real-Time Single Camera SLAM. IEEE Trans. Pattern Anal. Mach. Intell. 29, 6 (June 2007), 1052--1067. Google ScholarDigital Library
- Jakob Engel, Thomas Schöps, and Daniel Cremers. 2014. LSD-SLAM: Large-Scale Direct Monocular SLAM. In Computer Vision - ECCV 2014, David Fleet, Tomas Pajdla, Bernt Schiele, and Tinne Tuytelaars (Eds.). Springer International Publishing, Cham, 834--849.Google Scholar
- Mark Gabel and Zhendong Su. 2010. A Study of the Uniqueness of Source Code. In Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE '10). ACM, New York, NY, USA, 147--156. Google ScholarDigital Library
- A. Handa, T. Whelan, J. McDonald, and A. J. Davison. 2014. A benchmark for RGB-D visual odometry, 3D reconstruction and SLAM. In 2014 IEEE International Conference on Robotics and Automation (ICRA). 1524--1531.Google Scholar
- Saemundur O. Haraldsson, John R. Woodward, Alexander E. I. Brownlee, and Kristin Siggeirsdottir. 2017. Fixing Bugs in Your Sleep: How Genetic Improvement Became an Overnight Success. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO '17). ACM, New York, NY, USA, 1513--1520. Google ScholarDigital Library
- Mark Harman, S. Afshin Mansouri, and Yuanyuan Zhang. 2012. Search-based Software Engineering: Trends, Techniques and Applications. ACM Comput. Surv. 45, 1, Article 11 (Dec. 2012), 61 pages. Google ScholarDigital Library
- W. B. Langdon and M. Harman. 2015. Optimizing Existing Software With Genetic Programming. Evolutionary Computation, IEEE Transactions on 19, 1 (Feb 2015), 118--135.Google Scholar
- W. B. Langdon and S. M. Gustafson. 2010. Genetic Programming and Evolvable Machines: ten years of reviews. Genetic Programming and Evolvable Machines 11, 3/4 (Sept. 2010), 321--338. https://doi.org/ Google ScholarDigital Library
- William B. Langdon and Mark Harman. 2014. Genetically Improved CUDA C++ Software. In Revised Selected Papers of the 17th European Conference on Genetic Programming - Volume 8599 (EuroGP 2014). Springer-Verlag New York, Inc., New York, NY, USA, 87--99. Google ScholarDigital Library
- William B. Langdon, Brian Yee Hong Lam, Justyna Petke, and Mark Harman. 2015. Improving CUDA DNA Analysis Software with Genetic Programming. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation (GECCO '15). ACM, New York, NY, USA, 1063--1070. Google ScholarDigital Library
- William B. Langdon, Marc Modat, Justyna Petke, and Mark Harman. 2014. Improving 3D Medical Image Registration CUDA Software with Genetic Programming. In Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation (GECCO '14). ACM, New York, NY, USA, 951--958. Google ScholarDigital Library
- Claire Le Goues, Thanh Vu Nguyen, Stephanie Forrest, and Westley Weimer. 2012. GenProg: A Generic Method for Automatic Software Repair. IEEE Trans. Softw. Eng. 38, 1 (Jan. 2012), 54--72. Google ScholarDigital Library
- Joel Lehman and Kenneth O. Stanley. 2008. Exploiting Open-Endedness to Solve Problems Through the Search for Novelty. In Proc. of the Eleventh Intl. Conf. on Artificial Life (ALIFE XI). MIT Press, Cambridge, MA.Google Scholar
- Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: Multi-objective Automated Testing for Android Applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA 2016). ACM, New York, NY, USA, 94--105. Google ScholarDigital Library
- Yuliana Martínez, Enrique Naredo, Leonardo Trujillo, and Edgar Galván López. 2013. Searching for novel regression functions. In Proceedings of the IEEE Congress on Evolutionary Computation, CEC 2013, Cancun, Mexico, June 20--23, 2013. 16--23.Google ScholarCross Ref
- Luigi Nardi, Bruno Bodin, Sajad Saeedi, Emanuele Vespa, Andrew J. Davison, and Paul H. J. Kelly. 2017. Algorithmic Performance-Accuracy Trade-off in 3D Vision Applications Using HyperMapper. CoRR abs/1702.00505 (2017).Google Scholar
- Luigi Nardi, Bruno Bodin, M. Zeeshan Zia, John Mawer, Andy Nisbet, Paul H. J. Kelly, Andrew J. Davison, Mikel Luján, Michael F. P. O'Boyle, Graham Riley, Nigel Topham, and Steve Furber. 2015. Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM. In IEEE Intl. Conf. on Robotics and Automation (ICRA).Google ScholarCross Ref
- L. Nardi, B. Bodin, M. Z. Zia, J. Mawer, A. Nisbet, P. H. J. Kelly, A. J. Davison, M. LujÃąn, M. F. P. O'Boyle, G. Riley, N. Topham, and S. Furber. 2015. Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM. In 2015 IEEE International Conference on Robotics and Automation (ICRA). 5783--5790.Google Scholar
- Enrique Naredo, Miguel Aurelio Duarte-Villaseñor, Manuel de Jesús García Ortega, Carlos E. Vázquez López, Leonardo Trujillo, and Oscar S. Siordia. 2016. Novelty Search for the Synthesis of Current Followers. Computación y Sistemas 20, 4 (2016).Google Scholar
- Enrique Naredo and Leonardo Trujillo. 2013. Searching for Novel Clustering Programs. In Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation (GECCO '13). ACM, New York, NY, USA, 1093--1100. Google ScholarDigital Library
- Enrique Naredo, Leonardo Trujillo, Pierrick Legrand, Sara Silva, and Luis Muñoz. 2016. Evolving genetic programming classifiers with novelty search. Inf. Sci. 369 (2016), 347--367. Google ScholarDigital Library
- Enrique Naredo, Paulo Urbano, and Leonardo Trujillo. 2017. The training set and generalization in grammatical evolution for autonomous agent navigation. Soft Comput. 21, 15 (2017), 4399--4416. Google ScholarDigital Library
- Richard A. Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohli, Jamie Shotton, Steve Hodges, and Andrew Fitzgibbon. 2011. KinectFusion: Real-time Dense Surface Mapping and Tracking. In Proceedings of the 2011 10th IEEE International Symposium on Mixed and Augmented Reality (ISMAR '11). IEEE Computer Society, Washington, DC. USA, 127--136. Google ScholarDigital Library
- J. Petke, S. Haraldsson, M. Harman, w. langdon, D. White, and J. Woodward. 2017. Genetic Improvement of Software: a Comprehensive Survey. IEEE Transactions on Evolutionary Computation PP, 99 (2017), 1--1.Google Scholar
- Justyna Petke, Mark Harman, William B. Langdon, and Westley Weimer. 2014. Using Genetic Improvement and Code Transplants to Specialise a C++ Program to a Problem Class. In Revised Selected Papers of the 17th European Conference on Genetic Programming - Volume 8599 (EuroGP 2014). Springer-Verlag New York. Inc., New York, NY, USA, 137--149. Google ScholarDigital Library
- O. Tange. 2011. GNU Parallel - The Command-Line Power Tool. ;login: The USENIX Magazine 36, 1 (Feb 2011), 42--47.Google Scholar
- Paulo Urbano, Enrique Naredo, and Leonardo Trujillo. 2014. Generalization in Maze Navigation Using Grammatical Evolution and Novelty Search. In Theory and Practice of Natural Computing, Adrian-Horia Dediu, Manuel Lozano, and Carlos Martín-Vide (Eds.). Springer International Publishing, Cham, 35--46.Google Scholar
- M. Z. Zia, L. Nardi, A. Jack, E. Vespa, B. Bodin, P. H. J. Kelly, and A. J. Davison. 2016. Comparative design space exploration of dense and semi-dense SLAM. In 2016 IEEE International Conference on Robotics and Automation (ICRA). 1292--1299.Google Scholar
Index Terms
- Novelty search for software improvement of a SLAM system
Recommendations
Evaluation of SLAM Algorithms for Search and Rescue Applications
Towards Autonomous Robotic SystemsAbstractSearch and rescue robots have been widely investigated to detect humans in disaster scenarios. SLAM (Simultaneous Localisation and Mapping), as a critical function of the robot, can localise the robot and create the map during the rescue tasks. In ...
SLAM and navigation in indoor environments
PSIVT'11: Proceedings of the 5th Pacific Rim conference on Advances in Image and Video Technology - Volume Part IIn this paper, we propose a system for wheeled robot SLAM and navigation in indoor environments. An omni-directional camera and a laser range finder are the sensors to extract the point features and the line features as the landmarks. In SLAM and self-...
The visual SLAM system for a hexapod robot
ICCVG'10: Proceedings of the 2010 international conference on Computer vision and graphics: Part IIThe precise localization of the mobile robot plays a vital role in the autonomous operation of the mobile robot. The vision based simultaneous localization and mapping (SLAM) is a widely known technique for tracking the movement of the camera in the ...
Comments