{"id":27937,"date":"2020-10-09T12:57:55","date_gmt":"2020-10-09T10:57:55","guid":{"rendered":"https:\/\/www.intellias.com\/?p=27937"},"modified":"2022-11-03T16:08:49","modified_gmt":"2022-11-03T15:08:49","slug":"3d-point-cloud-classification-object-labeling","status":"publish","type":"post","link":"https:\/\/intellias.com\/3d-point-cloud-classification-object-labeling\/","title":{"rendered":"3D Point Cloud Classification and Object Labeling"},"content":{"rendered":"

Business challenge<\/h2>\n

Our client is an advisor and a provider of artificial intelligence (AI) technologies for competitive and customized data science and machine learning solutions. While providing geospatial artificial intelligence (GeoAI) services, the client needed to build intelligent point cloud processing software for managing and classifying big data sets in a 3D point cloud. The most challenging part of this project (with which our client sought assistance) was classifying and labeling nearly 150 million 3D points to distinguish between different types of objects: cars, roads, trees, and so on. Labeling these objects would allow users to see the entire picture of a scanned area. Finally, users should be able to render, view, and choose classified objects in a web browser.<\/p>\n

Initially, Intellias worked with this client on machine learning projects<\/a>. Our big data analytics expertise<\/a> qualified us to develop the client\u2019s new 3D point cloud processing software from scratch.<\/p>\n

\"3D<\/p>\n

3D point cloud solution delivered<\/h2>\n

We started by developing an MVP of the point cloud processing software and continued to full-cycle development<\/a> with continuous delivery of custom features for end customers. In the scope of this 3D cloud point project, we also took responsibility for designing a unique user experience (UX). Our specialists were involved at all stages of implementing the 3D point cloud processing software, from designing the architecture and selecting core components to creating UI\/UX prototypes<\/a>, developing customer-side functionality, testing, deploying the cloud infrastructure<\/a>, and finally launching the product.<\/p>\n

The point cloud processing product we\u2019ve been building processes and classifies 3D point cloud input data collected from Lidar sensors installed on vehicles, aerial photos from helicopters and drones, and portable stations set up throughout a scanned area. After data has been collected, it\u2019s gathered into big data sets for further Lidar point cloud processing. Our client receives 3D point clouds from customers for processing, segmentation, and classification; in the future, they plan to render all this data in web maps applying custom mapping services<\/a>.<\/p>\n

Our client\u2019s point cloud processing software can recognize objects in previously selected segments and classify them by criteria such as shape and location and whether they\u2019re mobile or static. In such a way, our client\u2019s 3D point cloud software can classify objects like road signs, trees, roads, vehicles, buildings, bridges, and traffic lights. This 3D point cloud technology can cope with billions of data points, classifying them as real-world objects and assigning characteristics like color, geographic coordinates, angle, and speed. After objects are labeled, users can build and view a 3D model of an entire city or any landscape that needs to be digitally represented and render it right in a web browser. After successful classification of cloud points, these 3D models can be used for smart city planning<\/a>, construction, architecture, and infrastructure development.<\/p>\n

\"3D<\/p>\n

How point cloud processing works in practice<\/h3>\n

Upload and segment the point cloud<\/h4>\n

First, customers upload files with data points to the point cloud processing service, where an AI engine automatically generates segments of different objects. At this stage, the system cannot sort objects by categories, but it prepares large segments for further labeling and annotation.<\/p>\n

Classification and labeling<\/h4>\n

A segmented 3D point cloud serves as the input for manual annotation and labeling. Manually marking large data sets that include nearly a billion points could take forever. So the data points are labeled using certain object determiners. Users can click on one object (for example, a tree) and the classifier will automatically highlight all nearby trees in green. The same algorithm works for other objects: ground, roads, infrastructure, cars. Click on one object and the classifier marks all nearby objects with determinators similar to those of the chosen object. In this way, the classifier groups similar points into object categories for distinguishing objects one from another.<\/p>\n

Render, view, and export<\/h4>\n

After all objects in the 3D point cloud are recognized and the whole 3D terrain model is available for the user\u2019s viewing, the system offers the possibility to view a particular object (for example, a road) separately from other objects. This helps municipalities or construction firms plan and optimize road infrastructure without being distracted by other objects in the terrain model. Each view can be rendered right in a web browser. Customers can export and use these models with third-party software for city planning, construction, and landscape design.<\/p>\n

Key features of point cloud processing software<\/h3>\n