skip to main content
research-article

Towards Fine-Grained Online Adaptive Approximation Control for Dense SLAM on Embedded GPUs

Authors Info & Claims
Published:02 November 2021Publication History
Skip Abstract Section

Abstract

Dense SLAM is an important application on an embedded environment. However, embedded platforms usually fail to provide enough computation resources for high-accuracy real-time dense SLAM, even with high-parallelism architecture such as GPUs. To tackle this problem, one solution is to design proper approximation techniques for dense SLAM on embedded GPUs. In this work, we propose two novel approximation techniques, critical data identification and redundant branch elimination. We also analyze the error characteristics of the other two techniques—loop skipping and thread approximation. Then, we propose SLaPP, an online adaptive approximation controller, which aims to control the error to be under an acceptable threshold. The evaluation shows SLaPP can achieve 2.0× performance speedup and 30% energy saving on average compared to the case without approximation.

REFERENCES

  1. [1] Abouzahir Mohamed, Elouardi Abdelhafid, Latif Rachid, Bouaziz Samir, and Tajer Abdelouahed. 2018. Embedding SLAM algorithms: Has it come of age? Robotics and Autonomous Systems 100 (2018), 1426.Google ScholarGoogle ScholarCross RefCross Ref
  2. [2] Adarsh P., Rathi P., and Kumar M.. 2020. YOLO v3-Tiny: Object detection and recognition using one stage improved model. In 2020 6th International Conference on Advanced Computing and Communication Systems (ICACCS). 687694.Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Angeli Adrien, Doncieux Stéphane, Meyer Jean-Arcady, and Filliat David. 2008. Real-time visual loop-closure detection. In 2008 IEEE International Conference on Robotics and Automation. IEEE, 18421847.Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Bailey Tim and Durrant-Whyte Hugh. 2006. Simultaneous localization and mapping (SLAM): Part II. IEEE Robotics and Automation Magazine 13, 3 (2006), 108117.Google ScholarGoogle ScholarCross RefCross Ref
  5. [5] Bodin Bruno, Nardi Luigi, Zeeshan Zia M., Wagstaff Harry, Sreekar Shenoy Govind, Emani Murali, Mawer John, Kotselidis Christos, Nisbet Andy, Lujan Mikel, Franke Björn, H. J. Kelly Paul, and O’Boyle Michael. 2016. Integrating algorithmic parameters into benchmarking and design space exploration in 3D scene understanding. In 2016 International Conference on Parallel Architectures and Compilation. 5769. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Bodin Bruno, Wagstaff Harry, Saeedi Sajad, Nardi Luigi, Vespa Emanuele, H. Mayer John, Nisbet Andy, Luján Mikel, Furber Steve, J. Davison Andrew, H. J. Kelly Paul, and O’Boyle Michael. 2018. SLAMBench2: Multi-objective head-to-head benchmarking for visual SLAM. In 2018 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 36373644.Google ScholarGoogle Scholar
  7. [7] Boikos Konstantinos and Bouganis Christos-Savvas. 2016. Semi-dense SLAM on an FPGA SoC. In 2016 26th International Conference on Field Programmable Logic and Applications (FPL). IEEE, 14.Google ScholarGoogle Scholar
  8. [8] Bresson Guillaume, Alsayed Zayed, Yu Li, and Glaser Sabastien. 2017. Simultaneous localization and mapping: A survey of current trends in autonomous driving. IEEE Transactions on Intelligent Vehicles 2, 3 (2017), 194220.Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Cadena Cesar, Carlone Luca, Carrillo Henry, Latif Yasir, Scaramuzza Davide, Neira José, Reid Ian, and Leonard John J.. 2016. Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age. IEEE Transactions on Robotics 32, 6 (2016), 13091332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Chen Huixiang, Dai Yuting, Xue Rui, Zhong Kan, and Li Tao. 2018. Towards efficient microarchitecture design of simultaneous localization and mapping in augmented reality era. In 2018 IEEE 36th International Conference on Computer Design (ICCD). IEEE, 397404.Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Choudhary Siddharth, Indelman Vadim, Christensen Henrik I., and Dellaert Frank. 2015. Information-based reduced landmark SLAM. In 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 46204627.Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Curless Brian and Levoy Marc. 1996. A volumetric method for building complex models from range images. In 23rd Annual Conference on Computer Graphics and Interactive Techniques. 303312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Davison A. and Fitzgibbon A.. 2011. KinectFusion: Real-time 3D reconstruction and interaction using a moving depth camera. In 24th Annual ACM Symposium on User Interface Software and Technology (UIST 2011). 559568. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Davison Andrew J., Reid Ian D., Molton Nicholas D., and Stasse Olivier. 2007. MonoSLAM: Real-time single camera SLAM. IEEE Transactions on Pattern Analysis and Machine Intelligence 29, 6 (2007), 10521067. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Delmerico Jeffrey and Scaramuzza Davide. 2018. A benchmark comparison of monocular visual-inertial odometry algorithms for flying robots. In IEEE International Conference on Robotics and Automation. 25022509.Google ScholarGoogle ScholarCross RefCross Ref
  16. [16] Deng Jia, Dong Wei, Socher Richard, Li Li-Jia, Li Kai, and Fei-Fei Li. 2009. Imagenet: A large-scale hierarchical image database. In 2009 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 248255.Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Fang Weikang, Zhang Yanjun, Yu Bo, and Liu Shaoshan. 2017. FPGA-based ORB feature extraction for real-time visual SLAM. In 2017 International Conference on Field Programmable Technology (ICFPT). IEEE, 275278.Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Gupta Vaibhav, Mohapatra Debabrata, Park Sang Phill, Raghunathan Anand, and Roy Kaushik. 2011. IMPACT: Imprecise adders for low-power approximate computing. In IEEE/ACM International Symposium on Low Power Electronics and Design. IEEE, 409414. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Handa Ankur, Whelan Thomas, McDonald John, and Davison Andrew J.. 2014. A benchmark for RGB-D visual odometry, 3D reconstruction and SLAM. In IEEE International Conference on Robotics and Automation.Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Henry Peter, Krainin Michael, Herbst Evan, Ren Xiaofeng, and Fox Dieter. 2014. RGB-D mapping: Using depth cameras for dense 3D modeling of indoor environments. In Experimental Robotics. Springer, 477491. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Khalufa Abdullah, Riley Graham, and Luján Mikel. 2019. A dynamic adaptation strategy for energy-efficient keyframe-based visual SLAM. In International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA). 310.Google ScholarGoogle Scholar
  22. [22] Khudia Daya S., Zamirai Babak, Samadi Mehrzad, and Mahlke Scott. 2015. Rumba: An online quality management system for approximate computing. In 42nd Annual International Symposium on Computer Architecture. 554566. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Klein Georg and Murray David. 2007. Parallel tracking and mapping for small AR workspaces. In IEEE and ACM International Symposium on Mixed and Augmented Reality. IEEE, 225234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Kotselidis Christos, Rodchenko Andrey, Barrett Colin, Nisbet Andy, Mawer John, Toms Will, Clarkson James, Gorgovan Cosmin, d’Antras Amanieu, Cakmakci Yaman, Stratikopoulos Thanos, Werner Sebastian, Garside Jim, Navaridas Javier, Pop Antoniu, Goodacre John, and Lujan Mikel. 2015. Project beehive: A hardware/software co-designed stack for runtime and architectural research. arXiv preprint arXiv:1509.04085 (2015).Google ScholarGoogle Scholar
  25. [25] Lee Donghwa, Kim Hyongjin, and Myung Hyun. 2012. GPU-based real-time RGB-D 3D slam. In 2012 9th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI). IEEE, 4648.Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] Li Shikai, Park Sunghyun, and Mahlke Scott. 2018. Sculptor: Flexible approximation with selective dynamic loop perforation. In 2018 International Conference on Supercomputing. 341351. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Lin Tsung-Yi, Maire Michael, Belongie Serge, Hays James, Perona Pietro, Ramanan Deva, Dollár Piotr, and Zitnick C. Lawrence. 2014. Microsoft COCO: Common objects in context. In European Conference on Computer Vision. Springer, 740755.Google ScholarGoogle Scholar
  28. [28] Liu Zhenhong, Gilani Syed, Annavaram Murali, and Kim Nam Sung. 2017. G-Scalar: Cost-effective generalized scalar execution architecture for power-efficient GPUs. In 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 601612.Google ScholarGoogle ScholarCross RefCross Ref
  29. [29] Low Kok-Lim. 2006. View Planning for Range Acquisition of Indoor Environments. Ph.D. Dissertation. University of North Carolina at Chapel Hill. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Low Kok-Lim and Lastra Anselmo. 2007. Predetermination of ICP registration errors and its application to view planning. In 6th International Conference on 3-D Digital Imaging and Modeling (3DIM 2007). IEEE, 7380. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Ma Jing, Chen Li, and Gao Zhiyong. 2017. Hardware implementation and optimization of tiny-YOLO network. In International Forum on Digital TV and Wireless Multimedia Communications. Springer, 224234.Google ScholarGoogle Scholar
  32. [32] Mahajan Divya, Yazdanbakhsh Amir, Park Jongse, Thwaites Bradley, and Esmaeilzadeh Hadi. 2016. Towards statistical guarantees in controlling quality tradeoffs for approximate acceleration. ACM SIGARCH Computer Architecture News 44, 3 (2016), 6677. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Mittal Sparsh. 2016. A survey of techniques for approximate computing. ACM Computing Surveys (CSUR) 48, 4 (2016), 133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Mur-Artal Raul, Montiel Jose Maria Martinez, and Tardos Juan D.. 2015. ORB-SLAM: A versatile and accurate monocular SLAM system. IEEE Transactions on Robotics 31, 5 (2015), 11471163.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Nardi Luigi, Bodin Bruno, Zeeshan Zia M., Mawer John, Nisbet Andy, H. J. Kelly Paul, J. Davison Andrew, Luján Mikel, F. P. O’Boyle Michael, Riley Graham, Topham Nigel, and Furber Steve. 2015. Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM. In 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 57835790.Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Newcombe Richard A., Izadi Shahram, Hilliges Otmar, Molyneaux David, Kim David, Davison Andrew J., Kohli Pushmeet, Shotton Jamie, Hodges Steve, and Fitzgibbon Andrew. 2012. KinectFusion: Real-time dense surface mapping and tracking. Ismar Basel Switzerland Oct 4, 6 (2012), 127136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Nistér David, Naroditsky Oleg, and Bergen James. 2004. Visual odometry. In 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2004 (CVPR 2004), Vol. 1. IEEE, 652–659. https://dblp.org/pid/07/1533.html.Google ScholarGoogle Scholar
  38. [38] Pei Yan, Biswas Swarnendu, Fussell Donald S., and Pingali Keshav. 2019. SLAMBooster: An application-aware online controller for approximation in dense SLAM. In 2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT).Google ScholarGoogle Scholar
  39. [39] Pei Yan, Biswas Swarnendu, Fussell Donald S., and Pingali Keshav. 2020. A methodology for principled approximation in visual SLAM. In ACM International Conference on Parallel Architectures and Compilation Techniques. 373386. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Phan Hai, Huynh Dang, He Yihui, Savvides Marios, and Shen Zhiqiang. 2020. Mobinet: A mobile binary network for image classification. In IEEE Winter Conference on Applications of Computer Vision. 34533462.Google ScholarGoogle Scholar
  41. [41] Prisacariu Victor Adrian, Kähler Olaf, Golodetz Stuart, Sapienza Michael, Cavallari Tommaso, Torr Philip H. S., and Murray David W.. 2017. Infinitam v3: A framework for large-scale 3D reconstruction with loop closure. arXiv preprint arXiv:1708.00783 (2017).Google ScholarGoogle Scholar
  42. [42] Rahimi Abbas, Benini Luca, and Gupta Rajesh K.. 2013. Spatial memorization: Concurrent instruction reuse to correct timing errors in SIMD architectures. IEEE Transactions on Circuits and Systems II: Express Briefs 60, 12 (2013), 847851.Google ScholarGoogle ScholarCross RefCross Ref
  43. [43] Ratter Adrian, Sammut Claude, and McGill Matthew. 2013. GPU accelerated graph SLAM and occupancy voxel -based ICP for encoder-free mobile robots. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 540547.Google ScholarGoogle ScholarCross RefCross Ref
  44. [44] Redmon Joseph and Farhadi Ali. 2018. YOLOv3: An incremental improvement. arXiv (2018).Google ScholarGoogle Scholar
  45. [45] Rusinkiewicz Szymon and Levoy Marc. 2001. Efficient variants of the ICP algorithm. In 3rd International Conference on 3-D Digital Imaging and Modeling. IEEE, 145152.Google ScholarGoogle Scholar
  46. [46] Saeedi Sajad, Nardi Luigi, Johns Edward, Bodin Bruno, Kelly Paul H. J., and Davison Andrew J.. 2017. Application-oriented design space exploration for SLAM algorithms. In 2017 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 57165723.Google ScholarGoogle ScholarCross RefCross Ref
  47. [47] Samadi Mehrzad, Jamshidi Davoud Anoushe, Lee Janghaeng, and Mahlke Scott. 2014. Paraprox: Pattern-based approximation for data parallel applications. In 19th International Conference on Architectural Support for Programming Languages and Operating Systems. 3550. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. [48] Samadi Mehrzad, Lee Janghaeng, Jamshidi D. Anoushe, Hormati Amir, and Mahlke Scott. 2013. Sage: Self-tuning approximation for graphics engines. In 46th Annual IEEE/ACM International Symposium on Microarchitecture. 1324. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Sartori John and Kumar Rakesh. 2012. Branch and data herding: Reducing control and memory divergence for error-tolerant GPU applications. IEEE Transactions on Multimedia 15, 2 (2012), 279290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Schmitt Maxime, Helluy Philippe, and Bastoul Cédric. 2019. Automatic adaptive approximation for stencil computations. In 28th International Conference on Compiler Construction. 170181. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. [51] Sidiroglou-Douskos Stelios, Misailovic Sasa, Hoffmann Henry, and Rinard Martin. 2011. Managing performance vs. accuracy trade-offs with loop perforation. In 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering. 124134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Sturm Jürgen, Engelhard Nikolas, Endres Felix, Burgard Wolfram, and Cremers Daniel. 2012. A benchmark for the evaluation of RGB-D SLAM systems. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 573580.Google ScholarGoogle ScholarCross RefCross Ref
  53. [53] Tang Shengjun, Zhu Qing, Li You, Chen Wu, Wu Bo, Guo Renzhong, Li Xiaoming, Wang Chisheng, and Wang Weixi. 2020. Trajectory drift-compensated solution of a stereo RGB-D mapping system. Photogrammetric Engineering Remote Sensing 86, 6 (2020), 359372.Google ScholarGoogle ScholarCross RefCross Ref
  54. [54] Venkatagiri Radha, Mahmoud Abdulrahman, Hari Siva Kumar Sastry, and Adve Sarita V.. 2016. Approxilyzer: Towards a systematic framework for instruction-level approximate computing and its application to hardware resiliency. In 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Weilharter Rafael, Schenk Fabian, and Fraundorfer Friedrich. 2018. Globally consistent dense real-time 3D reconstruction from RGBD data. In OAGM Workshop 2018. 120127.Google ScholarGoogle Scholar
  56. [56] Wong Daniel, Kim Nam Sung, and Annavaram Murali. 2016. Approximating warps with intra-warp operand value similarity. In 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 176187.Google ScholarGoogle ScholarCross RefCross Ref
  57. [57] Yazdanbakhsh Amir, Park Jongse, Sharma Hardik, Lotfi-Kamran Pejman, and Esmaeilzadeh Hadi. 2015. Neural acceleration for GPU throughput processors. In 48th International Symposium on Microarchitecture. 482493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. [58] Zhang Hang, Putic Mateja, and Lach John. 2014. Low power GPGPU computation with imprecise hardware. In 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC). IEEE, 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. [59] Zhang Qian, Wang Ting, Tian Ye, Yuan Feng, and Xu Qiang. 2015. ApproxANN: An approximate computing framework for artificial neural network. In 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 701706. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Zhang Qian, Yuan Feng, Ye Rong, and Xu Qiang. 2014. Approxit: An approximate computing framework for iterative methods. In 51st Annual Design Automation Conference. 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Zia M. Zeeshan, Nardi Luigi, Jack Andrew, Vespa Emanuele, Bodin Bruno, Kelly Paul H. J., and Davison Andrew J.. 2016. Comparative design space exploration of dense and semi-dense SLAM. In 2016 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 12921299.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards Fine-Grained Online Adaptive Approximation Control for Dense SLAM on Embedded GPUs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Design Automation of Electronic Systems
        ACM Transactions on Design Automation of Electronic Systems  Volume 27, Issue 2
        March 2022
        217 pages
        ISSN:1084-4309
        EISSN:1557-7309
        DOI:10.1145/3494074
        Issue’s Table of Contents

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 2 November 2021
        • Accepted: 1 August 2021
        • Revised: 1 June 2021
        • Received: 1 February 2021
        Published in todaes Volume 27, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed
      • Article Metrics

        • Downloads (Last 12 months)89
        • Downloads (Last 6 weeks)22

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text

      HTML Format

      View this article in HTML Format .

      View HTML Format