DIMACS
DIMACS REU 2018

General Information

me
Student: Alex Xiaotong Gui
Office: CoRE 450
School: Pomona College
E-mail: alex.gui@pomona.edu
Project: Characterizing the Quality of 3D-Printed Parts using Spatiotemporal Data Analytics

Project Description

Additive manufacturing, or three-dimensional (3D) printing, is a promising technology that enables the direct fabrication of complex shapes and eliminates the waste associated with traditional manufacturing. A major issue that adversely affects its performance, and hence wider adoption, is that material solidification in the printing process yields geometric shape deviation. This study focuses on the analysis of 3D surface measurements of 3D-printed parts. Dimension, contour, and surface roughness are measured and represented in image data. We are developing methods for extracting spatiotemporal patterns from the measurement images and then correlating the patterns with part quality.


Weekly Log

Week 1:
We met with Dr. Guo on Wednesday afternoon and created a tentative research timeline. At phase 1, the objective is to take measurements of the existing 3D-printed parts and extract image data. At phase 2, we will create metrics to evaluate printed parts quality. We will explore both physical models and data-driven approach for feature extraction. On Friday, we finished a draft of the first presentation. We learned to operate the measurement machine and successfully got some data. Next week we will focus on 1) processing the images to desirable matrices 2) learning the feature extraction machineries (PCA, Tensor decomposition etc)
Week 2:
The presentation went well and I was very excited to learn about other people's projects. We started week 2 with more data collection work. We printed more dome objects with controlled parameters (changing fill and speed while keeping everything else constant). We got better at measurements and harvested better data. I found literatures on principal component analysis and tensor decomposition and some neural network algortihms with applications in industrial problems. I haven't got chance to read through all of them. I had experience with PCA on structured data, that is data with columns representing features and rows representing observations, yet I have never worked with image data before. I ran some preliminary PCA. The first two principal components explained the most variability in the data (more than 90%). Yet I don't know how to interpret them.
Readings:
  • PCA
  • This is a class note from Carnegie Mellon University. I found the write-up very easy to read and the math writing clear and informational.
  • Tensor Decomposition Review
  • This is the most comprehensive review of tensor decomposition techniques, the theories behind and their applications in machine learning.
    Week 3:
    Dr. Guo was very helpful in our weekly meeting. We developed a stronger sense of what our end-product will be. Two things we have accomplished this week:
  • We took profile measurements of the samples (that is select a profile and export the height data along the cross-section) and calculate the sum squared error from the prototype height. Xinru used a nonlinear least square regression to fit the curve whereas I did some manual engineering (plot the prototype curve and layer the data curve over it to calcualte the deviation). Our result is consistent with our observation.
  • After running a full principal component analysis, we reconstructed the images with the first three major components. The reconstruction helps us with interpreting the major three components. Roughly, the first principal compoent descrips the overall shape of the printed object. The second component tells us more about the layer details whereas the third components adds the details of the printed words on the surface of the dome.
  • We finished this week by takng roughness data. Next week, we will start with combining the profile and roughness data and using clustering algorithm to creating binary metrics that describe quality.
    Week 4:
    We ran into several technical difficulties:
  • 20% of the data is missing due to measurement error. We have tried various measurements but it seemed like there was no way we can further reduce missing data during measurement. Among the 20%, more than 60% doesn't really matter since they are outside the dome boundries yet the rest ones are significant components of the shapes and carvings. For imputation, I used a K-nearest neighbor with k=5. The imputation is not perfect, for example, some missing points on the edge of the domes do not fit into the surrounding shape. But overall the data looks good and I believe it's solid for analysis.
  • Inconsistent profile measurements. Inevitably, we cannot take the exact same cross section in every sample and this made a huge difference when we were trying to calculate shape deviation to charaterize quality. We need to come up with more precise metrics to characterize quality.
  • With the imperfect data of 12 samples at hand, we tried two different modeling approaches. I took height deviation as my response and ran a simple linear regression on the process parameters and principal components. I also did some nested F-test to do some simple variable selection. The adjusted R-square is .855, not bad. I found it very interesing that among the predictors, principal component 4 is the most significant. I wonder if it indicates surface roughness. I can further conduct more precise feature selection techniques for example LASSO or Ridge Regression but I decided to not proceed because our result would be incorrect if we don't settle down quality metrics. We also used K-mean clustering to cluster the samples into two classes of "Good" and "Bad". From there we can potentially use classification algorithms like decision tree or support vector machine. But before all the modeling work, we need to make sure that we get the right quality metrics. On the side, I experimented with tucker decomposition in Matlab. The code works fine but I did not know how to interpret the decomposed tensors. We also talked about the likelihood of Texture Analysis, that is extract patterns from images. I would look into the literatures next week.
    Week 5:
    Readings
  • Non Linear Profile Monitoring
  • Dynamic Time Warping
  • For the entire week 5, we are working with the challenge to align profile curve accurately. I found Dynamic Time Warping a very promising technique. Dynamic time warping (dtw) is extensively used in time series data and in fields as speech and image recognition. Since the algorithm uses a dynamic prgrogramming framework, the run time is O(mn) which should perform pretty decent on our data.
    We learned the basics of the algorithm and tried to apply it on our data. However, the distance between the reference and test curve returned by dtw was heavily depended on the location of the two curve. It requried manual shifting to get better alignments which we found very problematic. In the end of week 5, I figured the best approach would be to use dtw to match the curves and then pick certain points as reference to shift our data so its X coordinate alignes with that of the reference sample.
    Week 6:
    I spent week 6 perfecting our curve alignment. I also worked on writing efficient code to implement alignment on all our profiles. Finally, I believe I have got very decent alignments and we were finally able to accurately quantify the profile deviation. I ran decision tree and support vector machines for classification. For regression, I ran a LASSO to select the significant feature. We will meet with Dr. Guo on Monday of week 7 to see what she thinks of our result.
    Week 7:
    We finally incorporated Uncorrelated Multilinear Principal Component Analysis (UMPCA).
    Readings
  • UMPCA Original Paper
  • Theoratical Explanation
  • The Matlab Implementation Reference

  • Presentations


    Additional Information