Skip to content

Hệ thống sử dụng AI để nhận diện và so sánh khuôn mặt nhằm hỗ trợ tìm kiếm người mất tích

Notifications You must be signed in to change notification settings

DangShark/AI_system_development

Repository files navigation


Logo

Bhome

Hệ thống tìm người mất tích thông qua nhận diện khuôn mặt

Đây là một hệ thống sử dụng trí tuệ nhân tạo để nhận diện và so sánh khuôn mặt từ ảnh chân dung với hình ảnh thu được từ webcam hoặc video đầu vào, nhằm hỗ trợ tìm kiếm người mất tích. Hệ thống hiện chỉ chạy được cục bộ thông qua Docker.

Table of Contents

ℹ Thông tin về dự án này

Ý nghĩ về việc không thể liên lạc hay tìm thấy người thân yêu, dù là thành viên gia đình, bạn bè hay bất kỳ ai bạn quan tâm, đều có thể khiến bạn vô cùng lo lắng. Dự án của chúng tôi sử dụng Công nghệ Nhận diện Khuôn mặt ứng dụng AI để hỗ trợ tìm kiếm người mất tích. Nếu ai đó bạn quan tâm đang mất tích, bạn có thể:

  • Đăng ký tài khoản trên nền tảng của chúng tôi và tải lên các thông tin cần thiết về người mất tích.
  • Chúng tôi sẽ tạo một Face ID riêng biệt cho người mất tích của bạn bằng công nghệ DeepFace.
  • Nếu phát hiện trùng khớp trong cơ sở dữ liệu của chúng tôi, chúng tôi sẽ liên hệ với bạn.

Link tới bản báo cáo đầy đủ


👨‍💻 Thành viên nhóm

Dự án được thực hiện bởi nhóm Blueberrinni Octopussini 💙🐙:


Các công nghệ được sử dụng

python flask deepface tensorflow opencv html5 css3 javascript nginx supabase docker

Component Technologies
Backend Python 3.8+, Flask, DeepFace, TensorFlow, OpenCV
Frontend HTML, CSS, JavaScript, Nginx
Data Storage Supabase Database, Supabase Storage
Deployment Docker, Docker Compose
Authentication JWT, Supabase Auth

(back to top)


⚙ Cài đặt

📦 Một vài yêu cầu trước khi cài đặt hệ thống

Để chạy ứng dụng Bhome, bạn chỉ cần có:

  • Docker hoặc Docker Desktop đã được cài đặt trên máy tính của bạn.

Nếu bạn chưa có Docker, bạn có thể tải và cài đặt phiên bản phù hợp với hệ điều hành của mình tại trang web chính thức của Docker. Docker Desktop bao gồm cả Docker Engine và Docker Compose, là lựa chọn tiện lợi cho hầu hết người dùng.

🐳 Cách chạy ứng dụng bằng Docker

Chỉ với vài bước đơn giản, bạn có thể đưa ứng dụng Bhome vào hoạt động:

  1. Tải file "khởi động nhanh":

    Tải file cấu hình docker-compose.yml được cung cấp.

  2. Chuẩn bị không gian làm việc:

    Tạo một thư mục mới trên máy tính của bạn, hoặc một thư mục bất kỳ đã tồn tại để chứa file docker-compose.yml.

  3. Di chuyển đến thư mục làm việc:

    Mở cửa sổ Terminal (trên macOS/Linux) hoặc Command Prompt/PowerShell (trên Windows) và di chuyển vào thư mục bạn vừa tạo ở bước 2.

    cd your-folder-name

    (Thay your-folder-name bằng tên thư mục thực tế bạn đã tạo.)

  4. Chạy ứng dụng:

    Trong terminal, chạy lệnh sau. Docker Compose sẽ đọc file docker-compose.yml, tự động tải các thành phần cần thiết từ internet (nếu chưa có) và khởi chạy ứng dụng Bhome ở chế độ nền.

    docker-compose up -d

    Quá trình này có thể mất một chút thời gian khi chạy lần đầu tiên, tùy thuộc vào tốc độ mạng của bạn.

  5. Trải nghiệm ứng dụng:

    Sau khi lệnh trên hoàn thành, mở trình duyệt web của bạn và truy cập địa chỉ:

    http://localhost:8080

    Chúc mừng! Bạn đã sẵn sàng sử dụng ứng dụng Bhome.

  6. Dừng ứng dụng:

    Khi không sử dụng nữa, bạn có thể dừng ứng dụng bằng cách quay lại terminal (vẫn ở trong thư mục làm việc) và chạy lệnh:

    docker-compose down

    Lệnh này sẽ tắt các dịch vụ của ứng dụng một cách gọn gàng.

  7. Đường dẫn Docker Hub (Phụ):

    yammdd/bhome_backend

    yammdd/bhome_frontend


📷 Cách sử dụng

  1. Người dùng tải lên một ảnh chân dung của người cần tìm.
  2. Hệ thống kích hoạt webcam/video và nhận diện khuôn mặt liên tục.
  3. Nếu phát hiện khuôn mặt trùng khớp, kết quả sẽ hiển thị ngay trên giao diện.

🔒 Lưu ý về bảo mật và quyền riêng tư

Hệ thống yêu cầu quyền truy cập camera. Vui lòng đảm bảo có sự đồng ý của người dùng trước khi sử dụng. Hệ thống chỉ được sử dụng cho mục đích nhân đạo.

(back to top)


🏗️ Tech Architecture

techArchitecture

(back to top)


🖥️ Features and Interfaces

Register

Register.mp4

Update info

Update.info.mp4

Finding people

Finding.people.mp4

Create post

Create.post.mp4

Update post

Update.post.mp4

(back to top)


📈 Future Work

Trong tương lai, nhóm phát triển sẽ hướng tới:

  • Tự động gửi mail thông báo khi tìm thấy người mất tích.
  • Triển khai lưu trữ token an toàn bằng cách sử dụng cookie HTTP-only để giảm thiểu rủi ro XSS và tăng cường bảo mật tổng thể.
  • Thêm các yêu cầu đối với mật khẩu như chữ hoa, số và ký tự đặc biệt để tăng tính bảo mật.
  • Di chuyển việc xác minh quyền admin sang backend để đảm bảo các tính năng và thao tác chỉ dành cho admin được kiểm soát an toàn.
  • Bổ sung xác thực phía máy chủ (server-side verification) cho tất cả các hành động và endpoint nhạy cảm để ngăn chặn truy cập trái phép.
  • Áp dụng HTTPS để bảo vệ dữ liệu khi truyền tải và đảm bảo giao tiếp an toàn giữa client và server.
  • Cải thiện hiệu suất trong các tình huống khuôn mặt bị che khuất một phần (ví dụ: khẩu trang, mũ, mặt nạ, v.v).
  • Tích hợp hoặc phát triển các thuật toán dự đoán sự thay đổi khuôn mặt theo thời gian để hỗ trợ tìm kiếm những người mất tích lâu năm có ngoại hình thay đổi.
  • Áp dụng các kỹ thuật bảo vệ quyền riêng tư tiên tiến hơn (ví dụ: federated learning, differential privacy, v.v).

(back to top)


📝 Notes

  • Nếu bạn có thắc mắc hay đóng góp gì, hãy liên hệ với chúng tôi qua email đã ghi bên trên.
  • Phần mềm này được phát triển với mục đích học tập.
  • Cảm ơn bạn đã quan tâm tới project của chúng tôi 😁

Lưu ý: File readme này có tính chất tổng quát hoá hệ thống, không đi vào cụ thể. Document chi tiết hơn (rất nhiều) đã được tải lên dưới dạng .pdf và cũng được publish trên Notion để phục vụ riêng cho việc tìm hiểu sâu và kĩ hơn về hệ thống.

About

Hệ thống sử dụng AI để nhận diện và so sánh khuôn mặt nhằm hỗ trợ tìm kiếm người mất tích

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •