- A course project for Cloud Computing and Big Data Analytics
- Programming Language : python
- Deep Learning Framework : pytorch
- Dev tool : Jupyter Notebook
- Many difficult market pressures.
- During manufacturing, the PCB goes through several process steps
- PCB board goes through various stages of production
- The need is for a reliable and accurate vision system
- Largely dependent on user input to select algorithm set for the PCB
- AOI equipment is commonly used for defect detection, which has the characteristic of “it is better to kill a hundred mistakes than to let one go”
- The dataset is from the competition Defect Classifications of AOI from AIdea
- Download Link
- Format : PNG
- Data split : 1,769 for Training set, 379 for valid set, 380 for Test set.
- Label : defect classification category (shown in below table).
- Sample Imgaes
- We implement two models with three ensemble that we have mentioned before. The work flow of our project is as below:
- First, we implement only single machine to do detection, the result is as below:
- We can observe the results and figure out that EfficientNet gets better performance than CoAtNet.
In addition, we visualize the picture by using grad cam after processed through the prediction. With Grad-CAM, we can understand the basis for the model's predictions.
- Here, we implement the three ensemble method (Voting, Soft Gradient Boosting, Snapshot Ensemble)
- In general, EffiecientNet got higher accuracy than coAtNet.
- CoAtNet performs better only when using Snapshot Ensemble of three models.
- Voting Classifier got both 100% with two models
- Soft Gradient Boosting has higher accuracy when ensemble 2 models
- Snapshot Ensemble has higher accuracy when ensemble 3 models