Workspace Navigation

3D Scanning and virtual reality for quality inspection in industry

Basic Information

Project ID: AEE-2020-12

Students: Kamal Dhakal, Mikael Eriksson, Miika Lehtimäki, Jonathan Leinola, Pyry Pietarila

Project manager: Kamal Dhakal

Instructor: Mohammad Azangoo

Other advisors:

Starting date: 16.1.2020

Completion date: 29.5.2020


The objective of the project is to enable automatic quality inspection and control in a production environment. It’s achieved by taking 2D and/or 3D scanning of the products and automatically detecting defects from the objects. The system should also support inspection of the scanned results in virtual reality. In addition, the system should have a support for OPC UA protocol, which enables easy integration into production and manufacturing environments.


High-level structure of the system is shown in the figure. The software consists of three modules: scanning, processing and user interface. Our git repository contains documentation on how these modules communicate with each other. In the beginning we used Artec Space Spider industrial 3D scanner ( but replaced it with Microsoft's Kinect sensor in order to continue development even after all contact teaching in universities was shut down during the coronavirus pandemy. For virtual reality we used Vive Cosmos VR headset ( Moreover, the VR implementation exploits the cross-platform OpenVR SDK (, so it should be possible to use VR hardware from different vendors.

Structure of the system

This demo video summarizes what was achieved during the project work course. We were able to get scanning results from Microsoft Kinect and to view 3D objects in virtual reality. Additionally, some machine vision and scratch detection experiments were made but not yet integrated to the main software.

3D scan_vr_demo_video.mp4

Use of Artec 3D scanner was of high interest to the Aalto Factory of the Future research group. Unfortunately we needed to abandon it in order to continue development even when all university facilities were closed for the rest of the spring. Before that we still managed to get scanning results from the Artec 3D scanner using Artec SDK (see the video below) - although a lot of time was required to get over encountered technical problems with the Artec SDK.



The software that was developed can be found at The repository contains the source code as well as instructions on how to set up and launch the software. Inside the doc folder you can find notes for future developers and documentation that explains concepts that are essential to this software. Due to time constraints all development related to virtual reality still remains in a separate branch named vr.


3D scan of a 3D printed lego-objectDesktop UI demonstrating the real time rendering of virtually scanned meshesOffline Kinect V2 scan on the left and 3D point cloud projection on the rightReal time Kinect scan with textures on the desktop UIScratch detection using NEU scratch detection dataset

  • No labels
  File Modified
Multimedia File 3D scan_vr_demo_video.mp4 May 12, 2020 by Kamal Dhakal
PNG File software-structure.png May 28, 2020 by Mikael Eriksson
Multimedia File artec_data.mp4 May 28, 2020 by Mikael Eriksson
PNG File artec-scan.png May 29, 2020 by Mikael Eriksson
PNG File desktop-viewer.png May 29, 2020 by Mikael Eriksson
PNG File kinect-scan.png May 29, 2020 by Mikael Eriksson
PNG File kinect-textures.png May 29, 2020 by Mikael Eriksson
JPEG File scratch-detection-1.jpg May 29, 2020 by Mikael Eriksson
JPEG File scratch-detection-2.jpg May 29, 2020 by Mikael Eriksson
JPEG File scratch-detection-3.jpg May 29, 2020 by Mikael Eriksson