Point Cloud Framework for Rendering 3D Models Using Google Tango Maxen Chung Santa Clara University, [email protected]

Total Page:16

File Type:pdf, Size:1020Kb

Point Cloud Framework for Rendering 3D Models Using Google Tango Maxen Chung Santa Clara University, Mhchung@Scu.Edu Santa Clara University Scholar Commons Computer Engineering Senior Theses Engineering Senior Theses 6-13-2017 Point Cloud Framework for Rendering 3D Models Using Google Tango Maxen Chung Santa Clara University, [email protected] Julian Callin Santa Clara University, [email protected] Follow this and additional works at: https://scholarcommons.scu.edu/cseng_senior Part of the Computer Engineering Commons Recommended Citation Chung, Maxen and Callin, Julian, "Point Cloud Framework for Rendering 3D Models Using Google Tango" (2017). Computer Engineering Senior Theses. 84. https://scholarcommons.scu.edu/cseng_senior/84 This Thesis is brought to you for free and open access by the Engineering Senior Theses at Scholar Commons. It has been accepted for inclusion in Computer Engineering Senior Theses by an authorized administrator of Scholar Commons. For more information, please contact [email protected]. Point Cloud Framework for Rendering 3D Models Using Google Tango by Maxen Chung Julian Callin Submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Science and Engineering School of Engineering Santa Clara University Santa Clara, California June 13, 2017 Point Cloud Framework for Rendering 3D Models Using Google Tango Maxen Chung Julian Callin Department of Computer Engineering Santa Clara University June 13, 2017 ABSTRACT This project seeks to demonstrate the feasibility of point cloud meshing for capturing and modeling three dimensional objects on consumer smart phones and tablets. Traditional methods of capturing objects require hundreds of images, are very slow and consume a large amount of cellular data for the average consumer. Software developers need a starting point for capturing and meshing point clouds to create 3D models as hardware manufacturers provide the tools to capture point cloud data. The project uses Googles Tango computer vision library for Android to capture point clouds on devices with depth-sensing hardware. The point clouds are combined and meshed as models for use in 3D rendering projects. We expect our results to be embraced by the Android market because capturing point clouds is fast and does not carry a large data footprint. Table of Contents 1 Introduction 1 1.1 Motivation . .1 1.2 Solution . .1 2 Literature Review and Assessment of Previous Work 2 2.1 Introduction . .2 2.2 Stitching Images to Create 3D Objects . .3 2.3 Project Tango: Beyond Imagery . .3 2.4 Google's Contributions to Tango on Android . .3 2.5 OpenCV for Processing Point Clouds . .4 2.6 An Application Perspective . .4 2.7 Mesh Construction Process . .5 2.8 Global vs Local . .5 2.9 Visual Contrast Sensitivity for 3D Meshes . .6 3 Requirements 8 3.1 Functional . .8 3.2 Non-Functional . .8 3.3 Design Constraints . .8 4 Use Cases 9 4.1 Diagram . .9 4.2 Explanation . 10 5 Activity Diagram 12 5.1 Sample App . 12 6 Conceptual Model 14 6.1 Front End Application . 14 6.1.1 User Interface . 14 6.2 Back End Application . 17 6.2.1 PCL on AWS . 17 6.2.2 Processing and Meshing Point Clouds . 18 7 Technologies Used 19 8 Design Rationale 20 8.1 Technologies Used . 20 8.1.1 Android . 20 8.1.2 Google Tango . 20 8.1.3 Java . 20 8.1.4 OpenCV . 20 8.1.5 Lenovo Phab2 Phone . 21 iv 8.1.6 Github . 21 8.2 User Interface and Framework . 21 9 Test Plan 22 9.1 Unit Testing . 22 9.2 Alpha Testing . 22 9.3 Beta Testing . 22 10 Cost Estimates 23 10.1 Cost Table . 23 11 Risk Analysis 24 11.1 Risk Table . 24 11.2 Mitigation Strategies . 24 12 Development Timeline 25 12.1 Gantt Chart . 25 13 Results 26 13.1 Test object: Mouse from side . 26 13.2 Improving the mesh . 29 13.3 Creating a 3D Object . 30 13.3.1 Single-sided Mirroring Approach . 30 13.3.2 Double-sided Capture Approach . 32 13.4 Benefits of using Point Clouds to Capture 3D Objects . 33 13.4.1 Usability . 33 13.4.2 Bandwidth . 33 13.4.3 Total Processing Time . 34 13.5 Limitations of Point Cloud Capture . 34 13.5.1 Computer Vision in 3D . 34 13.5.2 Fixed Viewpoint . 34 13.5.3 RGB Support . 34 13.5.4 Point Resolution . 35 14 Societal Impact 36 14.1 Ethical . 36 14.2 Social . 36 14.3 Political . 37 14.4 Economic . 37 14.5 Health and Safety . 37 14.6 Manufacturability . 37 14.7 Environmental Impact . 38 14.8 Sustainability . 38 14.9 Usability . 38 14.10Lifelong Learning . 39 14.11Compassion . 39 15 Conclusion 40 A Source Code 43 A.1 Backend . 43 A.1.1 Server: HTTP endpoint . 43 A.1.2 Server: Point cloud processing and meshing . 44 A.2 Repository . 52 v List of Figures 2.1 A point cloud mesh model of a dolphin . .2 6.1 Starting State of the Main Menu . 14 6.2 Input Filename Dialog . 15 6.3 Capture Screen . 15 6.4 Main menu after front has been captured . 16 6.5 Main menu after both have been captured . 16 6.6 Standard Deviation Input . 17 6.7 Finished Capture . 17 12.1 Development Timeline Gantt Chart . 25 13.1 Computer Mouse . 26 13.2 Computer mouse from another angle . 27 13.3 Mouse with outlier and plane removal . 28 13.4 Mouse isolated using cluster selection . 29 13.5 Side of shoe captured using improved techniques . 30 13.6 Original and mirrored cloud combination . 31 13.7 Original and mirrored cloud combination(2) . 31 13.8 Shoe mesh using Poisson.
Recommended publications
  • Automatic Generation of a 3D City Model
    UNIVERSITY OF CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA COMPUTER ENGINEERING DEGREE DEGREE FINAL PROJECT Automatic generation of a 3D city model David Murcia Pacheco June, 2017 AUTOMATIC GENERATION OF A 3D CITY MODEL Escuela Superior de Informática UNIVERSITY OF CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA Information Technology and Systems SPECIFIC TECHNOLOGY OF COMPUTER ENGINEERING DEGREE FINAL PROJECT Automatic generation of a 3D city model Author: David Murcia Pacheco Director: Dr. Félix Jesús Villanueva Molina June, 2017 David Murcia Pacheco Ciudad Real – Spain E-mail: [email protected] Phone No.:+34 625 922 076 c 2017 David Murcia Pacheco Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". i TRIBUNAL: Presidente: Vocal: Secretario: FECHA DE DEFENSA: CALIFICACIÓN: PRESIDENTE VOCAL SECRETARIO Fdo.: Fdo.: Fdo.: ii Abstract HIS document collects all information related to the Degree Final Project (DFP) of Com- T puter Engineering Degree of the student David Murcia Pacheco, tutorized by Dr. Félix Jesús Villanueva Molina. This work has been developed during 2016 and 2017 in the Escuela Superior de Informática (ESI), in Ciudad Real, Spain. It is based in one of the proposed sub- jects by the faculty of this university for this year, called "Generación automática del modelo en 3D de una ciudad".
    [Show full text]
  • Benchmarks on WWW Performance
    The Scalability of X3D4 PointProperties: Benchmarks on WWW Performance Yanshen Sun Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Master of Science in Computer Science and Application Nicholas F. Polys, Chair Doug A. Bowman Peter Sforza Aug 14, 2020 Blacksburg, Virginia Keywords: Point Cloud, WebGL, X3DOM, x3d Copyright 2020, Yanshen Sun The Scalability of X3D4 PointProperties: Benchmarks on WWW Performance Yanshen Sun (ABSTRACT) With the development of remote sensing devices, it becomes more and more convenient for individual researchers to acquire high-resolution point cloud data by themselves. There have been plenty of online tools for the researchers to exhibit their work. However, the drawback of existing tools is that they are not flexible enough for the users to create 3D scenes of a mixture of point-based and triangle-based models. X3DOM is a WebGL-based library built on Extensible 3D (X3D) standard, which enables users to create 3D scenes with only a little computer graphics knowledge. Before X3D 4.0 Specification, little attention has been paid to point cloud rendering in X3DOM. PointProperties, an appearance node newly added in X3D 4.0, provides point size attenuation and texture-color mixing effects to point geometries. In this work, we propose an X3DOM implementation of PointProperties. This implementation fulfills not only the features specified in X3D 4.0 documentation, but other shading effects comparable to the effects of triangle-based geometries in X3DOM, as well as other state-of-the-art point cloud visualization tools.
    [Show full text]
  • Openscad User Manual (PDF)
    OpenSCAD User Manual Contents 1 Introduction 1.1 Additional Resources 1.2 History 2 The OpenSCAD User Manual 3 The OpenSCAD Language Reference 4 Work in progress 5 Contents 6 Chapter 1 -- First Steps 6.1 Compiling and rendering our first model 6.2 See also 6.3 See also 6.3.1 There is no semicolon following the translate command 6.3.2 See Also 6.3.3 See Also 6.4 CGAL surfaces 6.5 CGAL grid only 6.6 The OpenCSG view 6.7 The Thrown Together View 6.8 See also 6.9 References 7 Chapter 2 -- The OpenSCAD User Interface 7.1 User Interface 7.1.1 Viewing area 7.1.2 Console window 7.1.3 Text editor 7.2 Interactive modification of the numerical value 7.3 View navigation 7.4 View setup 7.4.1 Render modes 7.4.1.1 OpenCSG (F9) 7.4.1.1.1 Implementation Details 7.4.1.2 CGAL (Surfaces and Grid, F10 and F11) 7.4.1.2.1 Implementation Details 7.4.2 View options 7.4.2.1 Show Edges (Ctrl+1) 7.4.2.2 Show Axes (Ctrl+2) 7.4.2.3 Show Crosshairs (Ctrl+3) 7.4.3 Animation 7.4.4 View alignment 7.5 Dodecahedron 7.6 Icosahedron 7.7 Half-pyramid 7.8 Bounding Box 7.9 Linear Extrude extended use examples 7.9.1 Linear Extrude with Scale as an interpolated function 7.9.2 Linear Extrude with Twist as an interpolated function 7.9.3 Linear Extrude with Twist and Scale as interpolated functions 7.10 Rocket 7.11 Horns 7.12 Strandbeest 7.13 Previous 7.14 Next 7.14.1 Command line usage 7.14.2 Export options 7.14.2.1 Camera and image output 7.14.3 Constants 7.14.4 Command to build required files 7.14.5 Processing all .scad files in a folder 7.14.6 Makefile example 7.14.6.1 Automatic
    [Show full text]
  • Seamless Texture Mapping of 3D Point Clouds
    Seamless Texture Mapping of 3D Point Clouds Dan Goldberg Mentor: Carl Salvaggio Chester F. Carlson Center for Imaging Science, Rochester Institute of Technology Rochester, NY November 25, 2014 Abstract The two similar, quickly growing fields of computer vision and computer graphics give users the ability to immerse themselves in a realistic computer generated environment by combining the ability create a 3D scene from images and the texture mapping process of computer graphics. The output of a popular computer vision algorithm, structure from motion (obtain a 3D point cloud from images) is incomplete from a computer graphics standpoint. The final product should be a textured mesh. The goal of this project is to make the most aesthetically pleasing output scene. In order to achieve this, auxiliary information from the structure from motion process was used to texture map a meshed 3D structure. 1 Introduction The overall goal of this project is to create a textured 3D computer model from images of an object or scene. This problem combines two different yet similar areas of study. Computer graphics and computer vision are two quickly growing fields that take advantage of the ever-expanding abilities of our computer hardware. Computer vision focuses on a computer capturing and understanding the world. Computer graphics con- centrates on accurately representing and displaying scenes to a human user. In the computer vision field, constructing three-dimensional (3D) data sets from images is becoming more common. Microsoft's Photo- synth (Snavely et al., 2006) is one application which brought attention to the 3D scene reconstruction field. Many structure from motion algorithms are being applied to data sets of images in order to obtain a 3D point cloud (Koenderink and van Doorn, 1991; Mohr et al., 1993; Snavely et al., 2006; Crandall et al., 2011; Weng et al., 2012; Yu and Gallup, 2014; Agisoft, 2014).
    [Show full text]
  • Texture Builder Plugin for Cambam
    Texture Builder Plugin for CamBam [Version 1.0.1] Purpose Textured surfaces are commonly used in CNC machining to create interesting or contrasting backgrounds on carved items. Essentially a textured surface suitable for CNC machining is a 2.5D surface with a Z (depth) varying over an X-Y plane. This plugin is built on the following premises: That the surface to be textured is a tessellation of a series of 2.5D tiles. Each tile can be repeated over the surface using some combination of: o Copying o Translating o Scaling o Repeating on an X-Y grid, or around a circular arc in the X-Y plane. The tile element must be predefined (using some other tool) as: o a height cloud (a set of X,Y,Z coordinate points) in a CSV file, o an STL model (Sterolithographic file, in ASCII or Binary formats), o a RAW file (sets of X,Y,Z point triplets defining each surface triangular surface patch, as defined for CamBam, in ASCII format), or o an image file (BMP. GIF, JPG, PNG or TIFF formatted) where the grey scale values are to be interpreted as a height map (in the range 0 to 255). Once the scene is constructed, the complete scene surface can be saved as a XYZ height cloud, an STL file or a RAW file, for input into CamBam, or other CAM modellers. Related Tools and Potential Contributions To build a tile element to form the required texture various support tools can be used to help, each performing a particular task in the process.
    [Show full text]
  • Modifing Thingiverse Model in Blender
    Modifing Thingiverse Model In Blender Godard usually approbating proportionately or lixiviate cooingly when artier Wyn niello lastingly and forwardly. Euclidean Raoul still frivolling: antiphonic and indoor Ansell mildew quite fatly but redipped her exotoxin eligibly. Exhilarating and uncarted Manuel often discomforts some Roosevelt intimately or twaddles parabolically. Why not built into inventor using thingiverse blender sculpt the model window Logo simple metal, blender to thingiverse all your scene of the combined and. Your blender is in blender to empower the! This model then merging some models with blender also the thingiverse me who as! Cam can also fits a thingiverse in your model which are interchangeably used software? Stl files software is thingiverse blender resize designs directly from the toolbar from scratch to mark parts of the optics will be to! Another method for linux blender, in thingiverse and reusable components may. Svg export new geometrics works, after hours and drop or another one of hobbyist projects its huge user community gallery to the day? You blender model is thingiverse all models working choice for modeling meaning you can be. However in blender by using the product. Open in blender resize it original shape modeling software for a problem indeed delete this software for a copy. Stl file blender and thingiverse all the stl files using a screenshot? Another one modifing thingiverse model in blender is likely that. If we are in thingiverse object you to modeling are. Stl for not choose another source. The model in handy later. The correct dimensions then press esc to animation and exporting into many brands and exported file with the.
    [Show full text]
  • Objekttracking Für Dynamisches Videoprojektions Mapping
    Bachelorthesis Iwer Petersen Using object tracking for dynamic video projection mapping Fakultät Technik und Informatik Faculty of Engineering and Computer Science Studiendepartment Informatik Department of Computer Science Iwer Petersen Using object tracking for dynamic video projection mapping Bachelorthesis submitted within the scope of the Bachelor examination in the degree programme Bachelor of Science Technical Computer Science at the Department of Computer Science of the Faculty of Engineering and Computer Science of the Hamburg University of Applied Science Mentoring examiner: Prof. Dr. Ing. Birgit Wendholt Second expert: Prof. Dr.-Ing. Andreas Meisel Submitted at: January 31, 2013 Iwer Petersen Title of the paper Using object tracking for dynamic video projection mapping Keywords video projection mapping, object tracking, point cloud, 3D Abstract This document presents a way to realize video projection mapping onto moving objects. Therefore a visual 3D tracking method is used to determine the position and orientation of a known object. Via a calibrated projector-camera system, the real object then is augmented with a virtual texture. Iwer Petersen Thema der Arbeit Objekttracking für dynamisches Videoprojektions Mapping Stichworte Video Projektions Mapping, Objektverfolgung, Punktwolke, 3D Kurzzusammenfassung Dieses Dokument präsentiert einen Weg um Video Projektions Mapping auf sich bewegende Objekte zu realisieren. Dafür wird ein visuelles 3D Trackingverfahren verwendet um die Position und Lage eines bekannten Objekts zu bestimmen. Über ein kalibriertes Projektor- Kamera System wird das reale Objekt dann mit einer virtuellen Textur erweitert. Contents 1 Introduction1 1.1 Motivation . .1 1.2 Structure . .3 2 Related Work4 2.1 Corresponding projects . .4 2.1.1 Spatial Augmented Reality . .4 2.1.2 2D Mapping onto people .
    [Show full text]
  • Room Layout Estimation on Mobile Devices
    En vue de l'obtention du DOCTORAT DE L'UNIVERSITÉ DE TOULOUSE Délivré par : Institut National Polytechnique de Toulouse (Toulouse INP) Discipline ou spécialité : Image, Information et Hypermédia Présentée et soutenue par : M. VINCENT ANGLADON le vendredi 27 avril 2018 Titre : Room layout estimation on mobile devices Ecole doctorale : Mathématiques, Informatique, Télécommunications de Toulouse (MITT) Unité de recherche : Institut de Recherche en Informatique de Toulouse (I.R.I.T.) Directeur(s) de Thèse : M. VINCENT CHARVILLAT M. SIMONE GASPARINI Rapporteurs : M. CARSTEN GRIWODZ, UNIVERSITE D'OSLO M. DAVID FOFI, UNIVERSITE DE BOURGOGNE Membre(s) du jury : Mme LUCE MORIN, INSA DE RENNES, Président M. PASCAL BERTOLINO, UNIVERSITE GRENOBLE ALPES, Membre M. SIMONE GASPARINI, INP TOULOUSE, Membre M. TOMISLAV PRIBANIC, UNIVERSITE DE ZAGREB, Membre M. VINCENT CHARVILLAT, INP TOULOUSE, Membre Acknowledgments I would like to thank my thesis committee for giving me the opportunity to work on an exciting topic, and for the trust they placed in me. First, Simone Gasparini, I had the pleasure to have as advisor, who kept a cautious eye on my scientific and technical productions. I am certain this great attention to the details played an important role in the quality of my publications and the absence of rejection notice. Then, my thesis director, Vincent Charvillat, who was always generous in original ideas and positive energy. His advice helped me to put a more flattering light on my works and feel more optimistic. Finally, Telequid, which funded my works, with a special thought to Frédéric Bruel and Benjamin Ahsan for their great patience. I would also like to thank my referees: Prof.
    [Show full text]
  • Metadefender Core V4.17.3
    MetaDefender Core v4.17.3 © 2020 OPSWAT, Inc. All rights reserved. OPSWAT®, MetadefenderTM and the OPSWAT logo are trademarks of OPSWAT, Inc. All other trademarks, trade names, service marks, service names, and images mentioned and/or used herein belong to their respective owners. Table of Contents About This Guide 13 Key Features of MetaDefender Core 14 1. Quick Start with MetaDefender Core 15 1.1. Installation 15 Operating system invariant initial steps 15 Basic setup 16 1.1.1. Configuration wizard 16 1.2. License Activation 21 1.3. Process Files with MetaDefender Core 21 2. Installing or Upgrading MetaDefender Core 22 2.1. Recommended System Configuration 22 Microsoft Windows Deployments 22 Unix Based Deployments 24 Data Retention 26 Custom Engines 27 Browser Requirements for the Metadefender Core Management Console 27 2.2. Installing MetaDefender 27 Installation 27 Installation notes 27 2.2.1. Installing Metadefender Core using command line 28 2.2.2. Installing Metadefender Core using the Install Wizard 31 2.3. Upgrading MetaDefender Core 31 Upgrading from MetaDefender Core 3.x 31 Upgrading from MetaDefender Core 4.x 31 2.4. MetaDefender Core Licensing 32 2.4.1. Activating Metadefender Licenses 32 2.4.2. Checking Your Metadefender Core License 37 2.5. Performance and Load Estimation 38 What to know before reading the results: Some factors that affect performance 38 How test results are calculated 39 Test Reports 39 Performance Report - Multi-Scanning On Linux 39 Performance Report - Multi-Scanning On Windows 43 2.6. Special installation options 46 Use RAMDISK for the tempdirectory 46 3.
    [Show full text]
  • Basic Implementation and Measurements of Plane Detection
    Basic Implementation and Measurements of Plane Detection in Point Clouds A project of the 2017 Robotics Course of the School of Information Science and Technology (SIST) of ShanghaiTech University https://robotics.shanghaitech.edu.cn/teaching/robotics2017 Chen Chen Wentao Lv Yuan Yuan School of Information and School of Information and School of Information and Science Technology Science Technology Science Technology [email protected] [email protected] [email protected] ShanghaiTech University ShanghaiTech University ShanghaiTech University Abstract—In practical robotics research, plane detection is an Corsini et al.(2012) is working on dealing with the problem important prerequisite to a wide variety of vision tasks. FARO is of taking random samples over the surface of a 3D mesh another powerful devices to scan the whole environment into describing and evaluating efficient algorithms for generating point cloud. In our project, we are working to apply some algorithms to convert point cloud data to plane mesh, and then different distributions. In this paper, the author we propose path planning based on the plane information. Constrained Poisson-disk sampling, a new Poisson-disk sam- pling scheme for polygonal meshes which can be easily I. Introduction tweaked in order to generate customized set of points such as In practical robotics research, plane detection is an im- importance sampling or distributions with generic geometric portant prerequisite to a wide variety of vision tasks. Plane constraints. detection means to detect the plane information from some Kazhdan and Hoppe(2013) is talking about poisson surface basic disjoint information, for example, the point cloud. In this reconstruction, which can create watertight surfaces from project, we will use point clouds from FARO devices which oriented point sets.
    [Show full text]
  • Point Cloud Subjective Evaluation Methodology Based on Reconstructed Surfaces
    Point cloud subjective evaluation methodology based on reconstructed surfaces Evangelos Alexioua, Antonio M. G. Pinheirob, Carlos Duartec, Dragan Matkovi´cd, Emil Dumi´cd, Luis A. da Silva Cruzc, Lovorka Gotal Dmitrovi´cd, Marco V. Bernardob Manuela Pereirab and Touradj Ebrahimia aMultimedia Signal Processing Group, Ecole´ Polytechnique F´ed´eralede Lausanne, Switzerland; bInstitute of Telecommunications, University of Beira Interior, Portugal; cDepartment of Electrical and Computer Engineering, University of Coimbra and Institute of Telecommunications, Portugal; dDepartment of Electrical Engineering, University North, Croatia ABSTRACT Point clouds have been gaining importance as a solution to the problem of efficient representation of 3D geometric and visual information. They are commonly represented by large amounts of data, and compression schemes are important for their manipulation transmission and storing. However, the selection of appropriate compression schemes requires effective quality evaluation. In this work a subjective quality evaluation of point clouds using a surface representation is analyzed. Using a set of point cloud data objects encoded with the popular octree pruning method with different qualities, a subjective evaluation was designed. The point cloud geometry was presented to observers in the form of a movie showing the 3D Poisson reconstructed surface without textural information with the point of view changing in time. Subjective evaluations were performed in three different laboratories. Scores obtained from each test were correlated and no statistical differences were observed. Scores were also correlated with previous subjective tests and a good correlation was obtained when compared with mesh rendering in 2D monitors. Moreover, the results were correlated with state of the art point cloud objective metrics revealing poor correlation.
    [Show full text]
  • MEPP2: a Generic Platform for Processing 3D Meshes and Point Clouds
    EUROGRAPHICS 2020/ F. Banterle and A. Wilkie Short Paper MEPP2: a generic platform for processing 3D meshes and point clouds Vincent Vidal, Eric Lombardi , Martial Tola , Florent Dupont and Guillaume Lavoué Université de Lyon, CNRS, LIRIS, Lyon, France Abstract In this paper, we present MEPP2, an open-source C++ software development kit (SDK) for processing and visualizing 3D surface meshes and point clouds. It provides both an application programming interface (API) for creating new processing filters and a graphical user interface (GUI) that facilitates the integration of new filters as plugins. Static and dynamic 3D meshes and point clouds with appearance-related attributes (color, texture information, normal) are supported. The strength of the platform is to be generic programming oriented. It offers an abstraction layer, based on C++ Concepts, that provides interoperability over several third party mesh and point cloud data structures, such as OpenMesh, CGAL, and PCL. Generic code can be run on all data structures implementing the required concepts, which allows for performance and memory footprint comparison. Our platform also permits to create complex processing pipelines gathering idiosyncratic functionalities of the different libraries. We provide examples of such applications. MEPP2 runs on Windows, Linux & Mac OS X and is intended for engineers, researchers, but also students thanks to simple use, facilitated by the proposed architecture and extensive documentation. CCS Concepts • Computing methodologies ! Mesh models; Point-based models; • Software and its engineering ! Software libraries and repositories; 1. Introduction GUI for processing and visualizing 3D surface meshes and point clouds. With the increasing capability of 3D data acquisition devices, mod- Several platforms exist for processing 3D meshes such as Meshlab eling software and graphics processing units, three-dimensional [CCC08] based on VCGlibz, MEPP [LTD12], and libigl [JP∗18].
    [Show full text]