Dự án phân loại động vật (Chó, Mèo, Động vật hoang dã) sử dụng các kỹ thuật Trích xuất đặc trưng truyền thống (HOG, LBP) kết hợp với mô hình máy học SVM.
Hệ thống bao gồm:
- Backend: Xử lý ảnh, trích xuất đặc trưng (HOG + LBP) và dự đoán sử dụng SVM.
- Frontend: Giao diện web tương tác được xây dựng bằng Gradio.
- Notebooks: Các file Jupyter Notebook dùng để nghiên cứu, trích xuất đặc trưng và huấn luyện mô hình.
Classes:
- 🐶 Chó (Dog)
- 🐱 Mèo (Cat)
- 🦁 Động vật hoang dã (Wild)
AnimalClassfication/
├── backend/
│ ├── api.py # API xử lý logic chính (Feature Extraction + Prediction)
│ └── README.md # Tài liệu chi tiết cho Backend
├── frontend/
│ └── demo.py # Giao diện web (Gradio)
├── Notebook/
│ ├── SIFT.ipynb # Nghiên cứu đặc trưng SIFT
│ └── HOG_LBP.ipynb # Huấn luyện model với HOG + LBP
├── saved_models/ # Nơi lưu trữ model đã train
├── saved_features/ # Nơi lưu trữ đặc trưng đã trích xuất
├── requirements.txt # Các thư viện cần thiết
└── README.md # Tài liệu dự án
-
Clone repository (nếu có):
git clone <your-repo-url> cd AnimalClassfication
-
Cài đặt các thư viện phụ thuộc:
pip install -r requirements.txt
Nếu bạn chưa có model trong thư mục saved_models/, hãy chạy notebook để huấn luyện:
- Mở
Notebook/HOG_LBP.ipynb. - Chạy lần lượt các cells để thực hiện:
- Load dữ liệu.
- Trích xuất đặc trưng HOG và LBP.
- Huấn luyện SVM model.
- Lưu model vào
saved_models/HOG_LBP/svm_model.pkl.
Để khởi động giao diện web:
python frontend/demo.pyTruy cập vào đường dẫn hiển thị trên terminal (thường là http://localhost:7860) để trải nghiệm.
Bạn có thể test riêng phần backend:
python backend/api.pyDự án sử dụng sự kết hợp của hai loại đặc trưng:
- HOG (Histogram of Oriented Gradients): Mô tả hình dạng và biên cạnh của đối tượng.
- LBP (Local Binary Patterns): Mô tả kết cấu (texture) của bề mặt.
- Algorithm: Support Vector Machine (SVM).
- Kernel: RBF (Radial Basis Function).
- Python 3.8+
- Các thư viện: numpy, opencv-python, scikit-learn, scikit-image, gradio, pillow.
- Dataset: AFHQ (Animal Faces HQ)
- Framework: scikit-learn, scikit-image, OpenCV, Gradio
- GVHD: [TS. Mai Tiến Dũng]
- SVTH: [Nguyễn Bá Long - Nguyễn Công Thiết]
Nếu có thắc mắc hoặc gặp vấn đề, vui lòng tạo issue hoặc liên hệ qua email: 23520880@gm.uit.edu.vn