Đâ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
Ý 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.
Dự án được thực hiện bởi nhóm Blueberrinni Octopussini 💙🐙:
- Bùi Thanh Dân - 23020342
- Bùi Hải Đăng - 23020356
- Vũ Nguyên Đan - 23020351
- Nguyễn Công Cường - 23020338
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 |
Để 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.
Chỉ với vài bước đơn giản, bạn có thể đưa ứng dụng Bhome vào hoạt động:
-
Tải file "khởi động nhanh":
Tải file cấu hình
docker-compose.yml
được cung cấp. -
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
. -
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.) -
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.
-
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.
-
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.
-
Đường dẫn Docker Hub (Phụ):
- Người dùng tải lên một ảnh chân dung của người cần tìm.
- Hệ thống kích hoạt webcam/video và nhận diện khuôn mặt liên tục.
- 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.
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.
Register.mp4
Update.info.mp4
Finding.people.mp4
Create.post.mp4
Update.post.mp4
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).
- 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 😁