Skip to main content

Surface Defect Detection Using Deep Learning (NEU Dataset) with Streamlit App

Surface defect detection plays a critical role in modern manufacturing industries, especially in steel and metal production. Manual inspection is time-consuming, error-prone, and not scalable. In this post, I demonstrate how Deep Learning can be effectively used to detect surface defects using the NEU Surface Defect Dataset, along with a live Streamlit web application demo.

I have also recorded a full live lecture, where I explain the dataset, training process, and real-time defect prediction using a Streamlit app.

NEU Surface Defect Detection



📌 What This Project Covers

  • Understanding the NEU Surface Defect Dataset

  • Training a Deep Learning CNN model using PyTorch

  • Running a Streamlit-based web application

  • Uploading a test image to predict the type of surface defect

  • End-to-end execution on Ubuntu 24.04

This project is highly useful for:

  • Engineering students

  • Research scholars

  • Faculty members

  • Industry professionals in manufacturing and quality inspection


🖥️ System Requirements

  • Operating System: Ubuntu 24.04

  • Python Version: Python 3.x

  • Hardware:

    • CPU (training will take more time)

    • GPU (recommended for faster training)


⚙️ Step-by-Step Installation & Setup

1️⃣ Update the System

Open a terminal and run:

sudo apt update

2️⃣ Install Required System Packages

sudo apt install python3-pip python3-full git build-essential autoconf automake libxmu-dev

3️⃣ Create and Activate Virtual Environment

python3 -m venv ./myenv source ./myenv/bin/activate

You should now see:

(myenv)

4️⃣ Install Python Dependencies

pip install notebook matplotlib torch torchvision torchaudio streamlit

This step may take some time depending on your internet speed.


📂 Clone the Project Repository

git clone https://github.com/tspradeepkumar/SurfaceDefectDetection.git

Navigate to the project folder:

cd SurfaceDefectDetection

🧠 Train the Deep Learning Model

Start the training process using:

python train_model.py

or

python3 train_model.py

⏱️ Training Time

  • CPU: Takes more time

  • GPU: Completes significantly faster

Once training is completed, the trained model will be saved and ready for inference.


🌐 Run the Streamlit Web Application

Launch the demo app using:

streamlit run app.py

This will automatically open a browser window.


🖼️ Using the Application

  • Upload a Mono (Black & White) surface image

  • The application will predict the type of surface defect

  • Real-time inference using the trained Deep Learning model

📌 Please ensure the uploaded image is grayscale (monochrome) for accurate prediction.


🎥 Live Lecture & Demo

I have recorded a full live lecture demonstrating:

  • Dataset explanation

  • Model training

  • Streamlit app execution

  • Real-time defect prediction

👉 Follow the video for detailed explanation and live demo walkthrough.


🎓 Who Should Use This?

  • Students learning AI / Deep Learning

  • Research scholars working on Computer Vision

  • Faculty conducting hands-on AI labs

  • Industry professionals exploring AI for Manufacturing


📢 Share & Learn

If you find this project useful:

  • Share it with your friends

  • Recommend it to students

  • Forward it to research scholars

Let’s encourage practical, hands-on learning in AI for Manufacturing 🚀

Comments

Popular posts from this blog

Installing ns3 in Ubuntu 22.04 | Complete Instructions

In this post, we are going to see how to install ns-3.36.1 in Ubuntu 22.04. You can follow the video for complete details Tools used in this simulation: NS3 version ns-3.36.1  OS Used: Ubuntu 22.04 LTS Installation of NS3 (ns-3.36.1) There are some changes in the ns3 installation procedure and the dependencies. So open a terminal and issue the following commands Step 1:  Prerequisites $ sudo apt update In the following packages, all the required dependencies are taken care and you can install all these packages for the complete use of ns3. $ sudo apt install g++ python3 python3-dev pkg-config sqlite3 cmake python3-setuptools git qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar gsl-bin libgsl-dev libgslcblas0 wireshark tcpdump sqlite sqlite3 libsqlite3-dev  libxml2 libxml2-dev libc6-dev libc6-dev-i386 libc...

Installation of NS2 in Ubuntu 22.04 | NS2 Tutorial 2

NS-2.35 installation in Ubuntu 22.04 This post shows how to install ns-2.35 in Ubuntu 22.04 Operating System Since ns-2.35 is too old, it needs the following packages gcc-4.8 g++-4.8 gawk and some more libraries Follow the video for more instructions So, here are the steps to install this software: To download and extract the ns2 software Download the software from the following link http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download Extract it to home folder and in my case its /home/pradeepkumar (I recommend to install it under your home folder) $ tar zxvf ns-allinone-2.35.tar.gz or Right click over the file and click extract here and select the home folder. $ sudo apt update $ sudo apt install build-essential autoconf automake libxmu-dev gawk To install gcc-4.8 and g++-4.8 $ sudo gedit /etc/apt/sources.list make an entry in the above file deb http://in.archive.ubuntu.com/ubuntu/ bionic main universe $ sudo apt update Since, it...

How to Create Ubuntu 24.04 Bootable USB Using Rufus [Step-by-Step Guide]

How to Create Ubuntu 24.04 Bootable USB Using Rufus [Step-by-Step Guide] Are you planning to install or try Ubuntu 24.04 LTS ? The easiest and most reliable method is to create a bootable USB drive using Rufus on a Windows system. This detailed guide will help you create a Ubuntu 24.04 USB bootloader using Rufus with easy-to-follow steps and screenshots (optional). Here is the complete video of the bootloader creation and OS installation in Windows 11. 🧰 Requirements A USB flash drive (minimum 8GB recommended) A Windows PC Ubuntu 24.04 LTS ISO file Rufus USB creation tool 🧾 Steps to Create a Ubuntu 24.04 Bootable USB Using Rufus ✅ Step 1: Download Ubuntu 24.04 ISO Visit the official Ubuntu website and download the Ubuntu 24.04 LTS ISO file . ✅ Step 2: Download and Run Rufus Head to Rufus official site and download the latest version. Open the executable file (no installation required). ✅ Step 3: Insert USB Drive Plug in your USB drive. Rufus ...