Skip to content

ZACZ1NH0/ComputerVisionHaUI

Repository files navigation

PHẦN MỀM NHẬN DIỆN DANH TÍNH TRONG ĐÁM ĐÔNG SỬ DỤNG YOLO, DEEPFACE VÀ FACENET

Link demo

https://www.youtube.com/watch?si=NLyufAIqVZAT2FeM&v=mTNkzxbUuFQ&feature=youtu.be

Giao diện

Các thao tác trên ứng dụng

Giao diện của hệ thống nhận diện khuôn mặt gồm có 6 nút chính:

  • Create Image – Chụp ảnh theo số lượng.

  • Preprocess – Xử lý tệp ảnh đã chụp.

  • Extract Embeddings – trích xuất các vector đặc trưng từ tệp ảnh đã xử lý.

  • Webcam Recognition – Nhận diện khuôn mặt real-time bằng webcam.

  • Video Recognition – Nhận diện khuôn mặt qua video.

  • Image Recognition – Nhận diện khuôn mặt qua ảnh chụp.

Demo với hình ảnh

image image

Demo với video

image

Demo với webcam

image

📂 Project Structure

face_recognition_project/
├── src/                          # Source code
│   ├── preprocessing/            # Module Dev 1: Tiền xử lý dữ liệu (YOLOv8)
│   │   ├── preprocess.py         # Tiền xử lý ảnh
│   │   └── utils.py              # Hàm hỗ trợ (resize, kiểm tra ảnh)
│   ├── embeddings/               # Module Dev 2: Trích xuất & so sánh embeddings
│   │   ├── extract_embeddings.py # Trích xuất embeddings (DeepFace)
│   │   └── compare_embeddings.py # So sánh embeddings
│   ├── detection/                # Module Dev 3: Phát hiện khuôn mặt
│   │   ├── detect_faces.py       # Phát hiện khuôn mặt (YOLOv8)
│   │   └── utils.py              # Hàm hỗ trợ (tọa độ, cắt ảnh)
│   ├── recognition/              # Module Dev 4: Nhận diện khuôn mặt
│   │   ├── recognize_faces.py    # Nhận diện danh tính (DeepFace)
│   │   └── utils.py              # Xử lý lỗi nhận diện
│   ├── video_processing/         # Module Dev 5: Xử lý & phân tích video
│   │   ├── process_video.py      # Xử lý video real-time
│   │   ├── analyze_results.py    # Phân tích kết quả (đếm, theo dõi)
│   │   └── utils.py              # Hàm hỗ trợ (lưu CSV, theo dõi tọa độ)
│   ├── gui/                      # Module Dev 6: Giao diện người dùng
│   │   ├── main_app.py           # Giao diện PyQt5 chính
│   │   ├── interface.py          # Định nghĩa giao diện
│   │   └── utils.py              # Hỗ trợ hiển thị, vẽ khung, video
│   └── config/                   # Cấu hình chung
│       ├── config.py             # Tham số toàn cục
│       └── __init__.py           # File khởi tạo package
├── data/                         # Dữ liệu gốc và xử lý (KHÔNG commit)
│   ├── raw/                      # Ảnh gốc theo người
│   ├── processed/                # Ảnh đã cắt (160x160)
│   ├── embeddings/               # File .npz chứa embeddings
│   ├── videos/                   # Video đầu vào
│   └── results/                  # Kết quả: ảnh, video, CSV phân tích
├── docs/                         # Tài liệu đi kèm
│   ├── README.md                 # Hướng dẫn sử dụng
│   ├── workflow.md               # Mô tả quy trình hệ thống
│   └── report.pdf                # Báo cáo bài tập lớn
├── tests/                        # Các file kiểm thử (unit test)
├── requirements.txt              # Thư viện cần cài đặt
├── main.py                       # File chạy chính cho toàn hệ thống
├── .gitignore                    # Loại trừ dữ liệu không cần track
└── LICENSE                       # Giấy phép sử dụng (tùy chọn)


1. 📥 Clone dự án

git clone https://github.com/ZACZ1NH0/ComputerVisionHaUI.git

2. 🐍 Tạo môi trường ảo với Python 3.9 (nếu chưa tạo)

⚠️ Đảm bảo bạn đã cài Python 3.9 trước đó.

py -3.9 -m venv venv

Kích hoạt môi trường ảo:

  • Windows (CMD):
.\venv\Scripts\activate

3. 📦 Cài đặt các thư viện phụ thuộc

pip install -r requirements.txt

About

PHẦN MỀM NHẬN DIỆN DANH TÍNH TRONG ĐÁM ĐÔNG SỬ DỤNG YOLO, DEEPFACE VÀ FACENET

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages