Skip to content

The fault detection system is centered on detecting errors that occur during 3d printing process, specifically the occurrence of blobs, cracks, spaghetti, stringing, and under-extrusion printing errors. The repository used CNN machine vision techniques, specifically YOLOv4 Tiny, to develop a fault detection model for real-time application.

Notifications You must be signed in to change notification settings

LanzDeGuzman/Real-Time-Additive-Manufacturing-FDM-Printer-Vision-Based-Fault-Detection-System

Repository files navigation

Real-Time-Additive-Manufacturing-FDM-Printer-Vision-Based-Fault-Detection-System

Additive Manufacturing, commonly known as 3D printing, has gained popularity with its ability to produce highly versatile products. Consequent to this versatility is potency to various errors and thus low-reliability factor. In order to increase reliability and address print errors, a real-time vision-based fault detection system for FDM 3D printers is developed. The fault detection system is centered on detecting errors during the production or printing process, specifically the occurrence of blobs, cracks, spaghetti, stringing, and under-extrusion printing errors. The repository used CNN machine vision techniques, specifically YOLOv4 Tiny, to develop an FDM 3d printing fault detection model for real-time application.

Dataset Preparation

In preparing the dataset for training, an open-source data set for 3d printing defects, together with additional images available from Google, were used. A total of 257 images comprised the dataset containing cases of blobs, cracks, spaghetti, stringing, and under-extrusion printing defects. VOTT & Roboflow was used to annontate images and configure the train test split.

Training the Dataset

In training the detection model, Google Collab, a cloud-based environment, was used. Using YOLOv4-Tiny’s darknet architecture, cfg, weights, and name files of the trained model were generated after 10000 iterations.

YOLOv4 Tiny Training Results

After 10,000 iterations of training, the finalized YOLOv4 model with 5 class detection rendered a mean average precision(mAP) of 30.24% and 42.96% mAP at its best weight file generated. To validate the model's accuracy and effectiveness, the model was executed in real-time using a web camera.

How the code works

Once YOLO files are initialized, the camera's feed is displayed, and whenever a fault is detected, a bounding box together with its corresponding class is displayed in the feed. Simultaneous to the detection and displaying of bounding boxes, detection results are recorded into a text file. The results text file includes the session when the program is initiated. The session includes information regarding what date and time the program script was executed.

Sample Results

Future Work

To improve the groundwork, expounding and increasing the image database in training the model is recommended in order to increase the model’s performance and accuracy. Moreover, the use of newer YOLO architectures to evaluate the differences and improvements is also recommended. It is also recommended to pursue the initail goal of this repository to develop an automated fault detection and health monitoring system based on the FDM 3d Printers output, where after a print, whenever an error is detected, the system would output what problems the 3d printer should address, e.g., increasing heat, adjusting material supply, and motor calibration. Adding a real time graph visualiztion of the report can also be explored.

Collaborators

Joshua Andrei A. Jawod, Kristoffer Sean N. Wong, Denzhel Karl T. Rostata

About

The fault detection system is centered on detecting errors that occur during 3d printing process, specifically the occurrence of blobs, cracks, spaghetti, stringing, and under-extrusion printing errors. The repository used CNN machine vision techniques, specifically YOLOv4 Tiny, to develop a fault detection model for real-time application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages