Scroll to top
© 2021, Patrick Busser

01. Project Info

3D scan (a)head

For people with cranio-facial differences or other types of atypical head shapes, finding glasses that fit properly can be hard. Dutch specialist company Maat! offers a custom 3D printed solution, based on a 3D scan of the head.

Watch Video

02. The Process

3D scan (a)head

The starting point was an idea from Maat! to develop a system with multiple sensors or cameras that could capture the client’s head from different angles simultaneously. Various generations of prototypes were developed and tested with actual clients from Maat!.

This project was done individually as a graduation project from the MSc Integrated Product Design at TU Delft, and was awarded with a 10. The main goal was to get a functioning prototype while at the same time drastically improving the experience for the client.

Currently the Amsterdam Medical Centre (AMC) is exploring the possibilities to implement the 3D Head Scanner in the Intensive Care, to design well-fitting non-invasive breathing masks for children.

01.

Analysis

Frustrations and bottlenecks in the current 3D scanning procedure were analyzed by means of obervations and interviews. Afterwards a set of design drivers and an updated design goal were formulated.

02.

Technology Selection

Various 3D scanning and reconstructing techniques were compared and their suitability for this project was analyzed by means of test setups. Eventually, the final technical package for the 3D Head Scanner was defined.

03.

Building & Testing

Physical prototypes were made for both evaluating the functionality and performance of the 3D Head Scanner by means of Python code and off-the-shelf components. Moreover, a UI was designed to test the interaction.

In the first few weeks of this project, observations with Maat! and their clients were made to get a good overview of the current 3D scanning procedure. 3D scanning sessions with both infant clients and clients with a mental disability were attended. Next to that, interviews with various stakeholders were held to discover requirements and/or characteristics for the 3D Head Scanner.

By doing so, an overview of the current 3D scanning procedure was mapped out and the main painpoints in this procedure were highlighted.

First of all, it became apparent that fear can play quite a big role in the procedure especially when dealing with vulnerable clients such as children and/or people with a mental disability.

Since the 3D scan is usually taken at the client’s home, the environmental conditions can differ hugely between cases. Finding a good scanning location could take a while because of this.

Lastly, currently it takes 20 to 30 seconds before a 3D scan is captured, and in this period the client has to sit still, which is rather difficult for children and people with a mental disability. If the client moves, most likely the 3D scan will fail, meaning that the scan has to be retaken. In some cases, clients were even forced to sit still (e.g. a father holding his son’s head).

“Design a non-invasive and versatile 3D scanning soltution that is capable of outputting high-accuracy 3D head scans near instantaneously, with simple controls for a single user”

The insights gained during the observations and interviews led to a set of design drivers and a reformulated design goal which is mentioned above.

The new 3D Head Scanner should be non-invasive to make sure that client has a positive 3D scanning experience. Since the scanning location differs, it is important that the scanner is versatile in the sense that it enables Maat! to capture 3D scans in all sorts of environments and conditions. It should output high-resolution 3D scans with an accuracy of about 1 mm, and it should do this near-instantly. This would mean that the client does not have to sit still anymore and that the likelyhood of a succesful 3D scan will strongly increase. At the same time, the 3D scanner should have simple controls, so that it can be used by a single person, and potentially can be leased out to health-care institutions so they can make the 3D scans themselves.

01.

Analysis

Frustrations and bottlenecks in the current 3D scanning procedure were analyzed by means of obervations and interviews. Afterwards a set of design drivers and an updated design goal were formulated.

02.

Technology Selection

Various 3D scanning and reconstructing techniques were compared and their suitability for this project was analyzed by means of test setups. Eventually, the final technical package for the 3D Head Scanner was defined.

03.

Building & Testing

Physical prototypes were made for both evaluating the functionality and performance of the 3D Head Scanner by means of Python code and off-the-shelf components. Moreover, a UI was designed to test the interaction.

Existing 3D scanning techniques and solutions were analyzed, e.g. by visiting opticians that make use of 3D scanning for tailor-made glasses. Next to trying out these systems, interviews with the opticians that capture the 3D scans were held. One interesting remark for example was that (the required) calibration was almost never executed.

Next to that, special interest was paid to the integration of Artificial Intelligence in the system to reduce cost. An example of this is MICA, a machine learning based system that generates 3D head shapes based on a single photo with an accuracy of 0.9 mm. Unfortunately, those systems are usually trained with data of people with regular shaped heads, meaning that for this specific target group it won’t work. Next to that, the amount of data available is very low since the number of people suffering from this conditions is (luckily) relatively low.

Eventually, LIDAR was deemed the best solution when looking at relevant factors such as the cost, range, resolution, accuracy, capturing speed and processing power.

Initially Intel RealSense d435 sensors were used, but experiments showed that a resolution of around 1 mm would not be feasilble, that is why eventually Microsoft Azure Kinect DK sensors were chosen. Although a bit more expensive, they could deliver the accuracy that is required for this use case (~1.2 mm). The image below shows the test setup of one of the experiments.

01.

Analysis

Frustrations and bottlenecks in the current 3D scanning procedure were analyzed by means of obervations and interviews. Afterwards a set of design drivers and an updated design goal were formulated.

02.

Technology Selection

Various 3D scanning and reconstructing techniques were compared and their suitability for this project was analyzed by means of test setups. Eventually, the final technical package for the 3D Head Scanner was defined.

03.

Building & Testing

Physical prototypes were made for both evaluating the functionality and performance of the 3D Head Scanner by means of Python code and off-the-shelf components. Moreover, a UI was designed to test the interaction.

To prove that the chosen technology could work for this use case, a physical prototype was built. Next to that, code was written in Python that should translate the captured data into a 3D model that can be used by Maat!.

To make the 3D scanning procedure as quick and smoothly as possible, various ‘tricks’ have been implemented in the code. One of those tricks is for example the fact that the 3D Head Scanner will automatically make captures by itself when the client is looking in the right direction and not moving (too much). The system recognizes the client’s pose and aim by means of Machine Learning, which places 468 3D points on the clients head.

To make sure that all important geometry is included (eyes, nose, frontal part of ears), 2 3D sensors were integrated in the prototype, one on both sides. This means that 2 3D scans are being made (left), which the 3D head scanner should align (middle).

It was chosen to integrate a flexible Iterative Closest Point (ICP) algorithm that automatically aligns the captured point clouds instead of having the calibrate the 3D Head Scanner every time before usage (and hope it still works).

Next to that, the captured point clouds have to be cropped, smoothened and converted into an actual 3D model (.STL) so it can be used by Maat! (right image).

03. The Result

3D scan (a)head

The result after 6 months of ideating, prototyping and evaluating: A 3D Head scanner that can be built for €825,- with off-the-shelf components such as the Microsoft Azure Kinect DK sensors, while the 3D-print files and Python code are made open-source. With an accuracy of ~1.2 mm and a capturing time of 37 ms, it is unlikely that a scan would fail.

The 3D sensors implement Amplitude Modulated Continuous Wave Time of Flight technology to capture the geometry, meaning that the scanner can also work in the dark! The 3D Head Scanner has an integrated tablet that can be used to attract the focus of the client, by displaying something interesting like YouTube or Netflix.

Evaluation tests with actual Maat!-clients, (both adults and children with mental and physical disabilities) showed that in almost all cases the client didn’t even notice that a 3D scan was captured. This is quite a difference compared to the current procedure. Moreover, it is cheaper to build the 3D Head Scanner than to buy a the scanner that is being used currently, while it delivers 3D scans of similar quality almost instantaneously.

3D scanning Coding Prototyping

3D Head Scanner

The 3D Head Scanner is an unobtrusive and versatile 3D scanning solution capable of outputting high-accuracy 3D scans near instantaneously, with simple controls for a single user.

  • Date

    April 20, 2023

  • Skills

    Python, 3D scanning, Interaction Design

  • Client

    Maat!