Skip to content

A research focusing on selective laser melting (SLM)

License

Notifications You must be signed in to change notification settings

Risheng1128/SLM

Repository files navigation

SLM

A research focusing on selective laser melting (SLM).

The research goal is using images to predict the material properties of workpieces. The project focus on the permeability, core loss and ultimate tensile strength.

Used Packages

Download the used package:

pip3 install colorama opencv-python openpyxl

Download the packages to show the CT image in dicom viewer

pip3 install vtk pydicom PyQt5

Download the packages to train the models:

pip3 install xgboost lightgbm pandas openpyxl
pip install -U scikit-learn

Verify

Geometric Transform: The following image is orignal SLM image and the project annotates it to get the four point in order to make use of geometric transform. The point can be found in origin.json

Use melt_geometric.py to generate orthographic projection image.

make geometric-transform

Isolate workpieces in image: To have a better analysis for every workpieces, need to isolate them from image. Therefore, using melt_contour.py to isolate workpiece from image by using mask image (*.bmp).

make find-contours

Gray Level Co-occurrence Matrix (GLCM): Because the defects in image is difficult to identify, introducing the GLCM to compute the different features in image.

make gen-glcm

Computed Tomography (CT): Use computed tomography image make us observe workpiece quality more clearly. In this project, using file melt_jpg2dicom.py to convert the .jpg files to .dcm files which usually are applied in biomedical field. On the other hand, display the dicom image by file melt_dicom_viewer.py the reference to QtVTKDICOMViewer.

Show the CT image in dicom viewer:

make computed-tomography

Dataset Format: To predict the material property via training the regression model, like xgboost and svm. Please obey the dataset format as following:

In GLCM dataset, keep the name of sheet is similar with traila_0b. "a" means the group number that workpieces producted by the same produce parameter. "b" means the label of workpieces in one group.

layer energy entropy contrast idm autocorrelation mean_x mean_y variance_x variance_y standard_deviation_x standard_deviation_y correlation dissimilarity
7 0.00 8.32 112,897.64 0.15 18,438.60 130.59 130.55 1,592.05 1,592.05 39.90  39.90 0.87 10.53

In material property dataset, keep the name of sheet is same as the property key. In the other hand, the dataset is combine with the process parameters and material property. Set the option use_proc_param true if you want to add process parameter into train dataset and test dataset. Finally, keep the following dataset format:

oxygen concentration laser power scanning velocity layer height energy density trail item1 item2 item3 item4 item5 item6
0 150 400 0.05 115.39 1 820.91 836.36 X X 842.98 X

Regression model: Use XGBoost, lightGBM, Linear Regression and SVM to predict the material property include permeability, core loss and ultimate tensile strength via data generated from GLCM. The GLCM data can be found in folder /data/glcm-data/.

Train the XGBoost, lightGBM, Linear Regression or SVR model:

make train-model

Reference