Standard Operating Procedure for a Common Operating Platform for Online 3D Modeling
Total Page:16
File Type:pdf, Size:1020Kb
Standard Operating Procedure for a Common Operating Platform for Online 3D Modeling Prepared for: Ohio UAS Center Prepared by: University of Cincinnati Revision Date: April 20, 2020 Version Number: 2.0 Table of Contents List of Figures ................................................................................................................................. 3 Abstract ........................................................................................................................................... 4 Additional Reference Materials ...................................................................................................... 5 1.0 Purpose and Scope .................................................................................................................... 6 2.0 System Architecture .................................................................................................................. 6 2.1 The Web Interface................................................................................................................. 6 2.1.1. Graphical User Interface ............................................................................................... 7 2.1.2. Application Programming Interface ......................................................................... 7 2.2 Backend Systems .................................................................................................................. 8 3.0 Installation................................................................................................................................. 9 3.1 System Requirements............................................................................................................ 9 3.2 Configuring Software for the Common Operating Platform .............................................. 10 4.0 Usage.................................................................................................................................. 15 4.1 Register and Login .............................................................................................................. 15 4.2 Navigating the dashboard ................................................................................................... 16 4.3 Processing a 3D model on the Common Operating Platform ........................................ 17 4.4 Visualize a point cloud file ................................................................................................... 18 4.5 Change Password ................................................................................................................ 20 4.6 Create API Keys .................................................................................................................. 21 4.7 Sharing Content ................................................................................................................... 21 References ..................................................................................................................................... 23 2 | Page List of Figures Figure 1: Common Operating Platform System Architecture ........................................................ 6 3 | Page Abstract PLEASE UPDATE This Standard Operating Procedure (SOP) outlines the basic tools and procedures for utilizing small Unmanned Aircraft Systems (sUAS) for mapping construction sites and producing their accurate 3D model representation. This document is prepared for the Ohio UAS Center by the University of Cincinnati. This document intends to provide the Ohio Department of Transportation (ODOT) personnel, who are assigned responsibilities associated with the deployment and the use of Unmanned Aircraft System (UAS) information to map out construction sites and produce 3D models, orthomosaics and façades of the mapped-out area. This document will cover what hardware and software was used, the procedures to collect and process these images, and document case studies in areas of bridge and facilities inspection. Please note that this is document is still currently in a draft form and that images and tables have been taken from other locations to meet the needs of this document. 4 | Page Additional Reference Materials 1. Pix4D Mapper User Manual: LINK 5 | Page 1.0 Purpose and Scope This document is intended to inform the reader about the capabilities of the Common Operating Platform(v1.5) and define a standard operating procedure that covers usage, setup, and maintenance. In a nutshell, the common operating platform is a web-based service that is designed to process 3D models. The platform consists of a website, which is a frontend interface that can be used to create 3D modeling projects. A backend system serves this website and executes all of the processing that it entails. The idea is to have a secure platform, which is accessible to a broad audience, take care of all of their processing requirements and eliminates the need for an uninitiated audience to install highly technical software on their personal computers and maintain any sophisticated computing hardware. Sections 2 and 3 are meant for developers and system administrators who will want to understand how the platform works under the hood. Normal users who want to learn how to use the site should skip to section 4. 2.0 System Architecture The common operating platform consists of mainly two components. 1. A web interface which enables users to upload and interact data to the system 2. A backend processing system responsible for processing uploaded data The website was created using a Django backend with a Postgres database and runs Twitter bootstrap on the frontend. The backend processing system was implemented using a combination of Python, and Bash scripts. The common operating platform also facilitates API programming. The platforms HTTP based REST APIs have been used in tandem with the Microsoft HoloLens for visualizing 3D models (processed by the backend). The following sections delve deeper into the design and architecture of the system. Figure 1: Common Operating Platform System Architecture 2.1 The Web Interface There are two kinds of web interfaces available. The first one a graphical user interface (GUI) which is accessible using a web browser and the second one is an application programming 6 | Page interface (API) to be used by the devices or programs. The website interface was written in HTML, CSS, and JavaScript using Twitter’s bootstrap frontend interface library. J-Query and Ajax were used for implementing the functionality. 2.1.1. Graphical User Interface The standard graphical user interface (GUI) has a username/password authentication available on both interfaces. Users may register for an account using a sign-up page. The GUI has several different views which accomplish specific functionality. One such view is the virtual file system interface. It is akin to a PC’s desktop-like view of the different files and folders on a computer. The virtual file system is designed after a Unix based file system [1] and tries to emulate operations to store data in an orderly fashion online. The user has options to create files and folders as well as features to handle them like delete. For 3D model processing projects, users are required to create special project directories and upload their images into it. The project may be of two types based on the 3D model processing engine the user wants. They are Pix4DEngine Server [2] and OpenDroneMap [3]. The prior application is proprietary, and the latter is open sourced. Once the files have been uploaded, 3D model processing may be initiated by the user using the options provided on the website. Once the processing is initiated, the images are processed in the backend server using the chosen processing engine. The status of the processing can be seen in the backend jobs tab. This view consists of a history of all the jobs that have been processed by the system. All projects that the system processes will show up here along with its status. The view contains links to Potree [4], which is an open source online 3D point cloud viewer where the user can view the finished 3D model once it has been processed. There also links to the project directory which houses the images for the 3D model processing job. Apart from these two views, there is a settings view that provides two features. The first is the change password feature. The user is required to type his/her old password, followed by the new password to reset it. The second feature is the API key manager. An API key is a universally unique identifier (UUID) which must be used in the HTTP header of an API request to authenticate access to the backend server. The user may generate API keys for their automated programs or any devices which are required to query the backend server for information. Apart from creating keys, the option to disable API keys is also available. 2.1.2. Application Programming Interface The server also provides representational state transfer (REST)[5] application programming interfaces (API) for facilitating interoperability between different computer systems over a network. Responses to API queries are exclusively in JavaScript object notation (JSON) form and uses HTTP methods GET and POST. The API requests are authenticated using a universally unique identifier (UUID) API key. API keys are device specific and may be generated by the user using the options in the settings view. The API key should be attached to the header (X- API-Key) of the HTTP request. The different APIs are:- 1. Uploads