# Goal of this competition

3D printing is an innovative way to fabricate parts from any 3D geometry model. However, 3D printing is also known to be prone errors. Most of these errors are visible via a close-up camera mounted right near the printer nozzle.

The goal of this competition is to predict 1 specific kind of error - **under extrusion**.

# Examples of **under extrusion**.

If you haven't done 3D printing before and you don't understand what **under extrusion** is, it's ok. You don't need intimate knowledge about 3D printing to participate in this competition. This section will give you everything you need to participate in this competition effectively.

### A little background on 3D printing

In a nutshell, 3D printing is a process of pushing molten plastic through a small nozzle onto a print bed. This is illustrated in the picture below. Here is [a video that shows this process](https://youtu.be/_NN0MtbnrII).
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672779975.667825-1.jpg)
### What does a good 3D print looks like?

When 3D printing goes well, the plastic will form smooth, continuous, and neat geometrical shapes. An example is below:
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672776329.535205.jpg)
### What does **under extrusion** looks like?

When **under extrusion** happens, the plastic will have all kinds of artifacts, such as wrinkles, bubbles, curls, etc. The artifacts are marked by the red arrows in the example below:
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672795786.41987.jpg)
### More **under extrusion** examples
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1679010017.102943.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672869233.10414.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672793332.725275.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672794243.584641.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1678594775.145677.jpg)
### **Under extrusion** may not always be obvious

Please be aware that the examples above were some of the most obvious. Most of the time, the **under extrusion** is less obvious. Some examples below:
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672859299.907916.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672795105.25779.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672869136.330449.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1678593814.141769.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1678593588.901188.jpg)
Some times they will even look very like the good prints.
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1672858029.370999.jpg)
![](https://storage.googleapis.com/obico-public/kaggle-contest-files/1678590815.334203.jpg)
**It's important to keep in mind that there are plenty of pictures in the training and test dataset that are labelled as "under extrusion" but look very much like good prints.** Welcome to the messy real world. ;)

For this very reason, you are highly encourage to randomly sample data pictures from the training set and plot them so that you can build up some intuition between good prints and prints of under extrusion. This is a good practice for data scientists anyway.

# Again, the goal of this competition

Now you have some more background about the 3D printing problem we are trying to predict for this competition, let's make it more clear: the goal is to predict if a 3D printing picture shows any sign of under extrusion. This is binary classification problem. More specifically, this is an anomaly detection problem.

# Prior researches

This competition is inspired by this paper: https://www.nature.com/articles/s41467-022-31985-y

The source code for this paper is: https://github.com/cam-cambridge/caxton

However, a word of caution: this research is based on a very pure lab environment. It uses data from the printers that share the same setup and hence very close to each other. Our dataset is more diverse (from 7 printers that look distinct from each other).