Automated Quality Assurance for Welding using Computer Vision. A student project for Scaling WeldCorp.
WeldCorp AI Inspector is a web-based tool designed to assist technicians in identifying welding defects automatically. By leveraging a Neural Network trained on the Orange Data Mining platform, this application allows users to upload photos of welding seams and receive an instant "Good" or "Bad" classification along with a confidence score.
This project addresses the scaling challenges of WeldCorp by moving from manual inspection to AI-assisted Quality Assurance.
- Instant Analysis: Upload an image (JPG/PNG) and get a result in seconds.
- Computer Vision: Uses Inception v3 embeddings to "see" metallurgical details.
- Defect Detection: Classifies welds into
Good WeldorBad Weld(including defects like porosity, cracks, etc.). - Confidence Score: Displays the model's certainty percentage.
- Web Interface: Built with Streamlit for easy deployment on any device.
The system follows a hybrid pipeline:
-
Training (Orange ML):
- Data: Welding Defect Object Detection Dataset (Labelled).
- Embedding: Inception v3 (Google).
- Classifier: Neural Network (optimized for AUC).
- Output: A pickled model file (
group-project-final.pkcls).
-
Inference (Streamlit App):
- The Python script converts the uploaded image into a 2048-dimension vector using
orange3-imageanalytics. - The vector is passed to the loaded
.pkclsmodel. - The prediction is displayed to the user.
- The Python script converts the uploaded image into a 2048-dimension vector using
To run this app on your own machine, follow these steps:
git clone [https://github.com/AzNobody/WeldCorp.git](https://github.com/AzNobody/WeldCorp.git)
cd WeldCorpMake sure you have Python installed (Python 3.10 or 3.11 recommended).
pip install -r requirements.txtpython -m streamlit run app.pyThe app should open automatically in your browser at http://localhost:8501.
This app is optimized for deployment on Streamlit Community Cloud.
The repository includes specific configuration files for the cloud environment:
requirements.txt: Python libraries (Streamlit, Orange3, etc.).packages.txt: System dependencies (specificallylibgl1for image processing).
- Push this code to GitHub.
- Go to share.streamlit.io.
- Select the repository and the main file
app.py. - Click Deploy.
Note: The first deployment may take 3-5 minutes as it downloads the Inception v3 model.
weldcorp/
├── app.py # Main application script
├── group-project-final.pkcls # The trained Orange model (Neural Network)
├── requirements.txt # Python dependencies
├── packages.txt # Linux system dependencies (for Streamlit Cloud)
└── README.md # Project documentation
- Andrew Hong Wei Lee
- Axel Lindvall
- Théodor Jagler
- Arthur Foutrel
- Hyeyoon Park
Developed for the AI for Business course at Umeå University.