Ứng Dụng Phân Đoạn Mảnh Đá
Kiến trúc của ứng dụng
1. Truy Cập & Xác Thực
- Người dùng kết nối thông qua trình duyệt web với phân giải tên miền qua DuckDNS
- Các tùy chọn xác thực:
- Người dùng mới: Đăng ký với tên người dùng/mật khẩu
- Người dùng đã có tài khoản: Hệ thống đăng nhập dựa trên JWT
- Bảo mật được thực hiện thông qua FastAPI với mã hóa mật khẩu bcrypt
2. Xử Lý Hình Ảnh
- Tùy Chọn Upload:
- Upload thông thường (chỉ lưu trữ)
- Upload với yêu cầu xử lý ngay lập tức
- Quy Trình Phân Tích:
- Mô hình phân đoạn YOLOv11 xác định từng mảnh đá riêng biệt
- Tạo mask chính xác cho từng mảnh đá
- Tính toán đường kính tương đương áp dụng các thuật toán hình học cho mỗi mask
- Hiển thị kết quả bao gồm lớp phủ mã màu để nhận diện trực quan
3. Quản Lý Kết Quả
- Lịch sử xử lý có thể truy cập thông qua bảng điều khiển người dùng
- Các phân tích trước đây có sẵn để truy xuất và so sánh
- Tùy chọn xử lý lại hình ảnh với các thông số được điều chỉnh
Kiến Trúc Kỹ Thuật
1. Xử Lý Yêu Cầu & Cân Bằng Tải
- Nginx đóng vai trò là điểm vào và cân bằng tải
- Các yêu cầu đến được phân phối đến các phiên bản backend FastAPI
2. Quy Trình Xử Lý
- FastAPI xử lý tải lên hình ảnh và quản lý lưu trữ tạm thời
- Mô hình YOLOv11 (từ Hugging Face Hub) thực hiện phân đoạn
- OpenCV xử lý hình ảnh và tính toán đường kính tương đương
- Luồng kết quả: Upload → Xử lý → Lưu trữ Cơ sở dữ liệu → Hiển thị cho Người dùng
3. Cơ Sở Hạ Tầng Dữ Liệu
- Cơ Sở Dữ Liệu PostgreSQL:
- Lưu trữ hồ sơ người dùng, dữ liệu xác thực
- Duy trì metadata hình ảnh và kết quả phân tích
- Tương tác thông qua SQLAlchemy ORM
- Hệ Thống Lưu Trữ (MinIO):
- Lưu trữ đối tượng tương thích S3 cho dữ liệu nhị phân
- Hình ảnh gốc được bảo quản để tham khảo
- Các lớp phủ đã xử lý được lưu trữ để truy xuất nhanh
- Thiết kế có thể mở rộng cho truy cập hình ảnh hiệu suất cao
4. Kiến Trúc Frontend
- Giao diện người dùng dựa trên React với các component Material-UI
- Axios xử lý giao tiếp API RESTful
- Các tính năng phía máy khách:
- Quản lý xác thực người dùng
- Giao diện tải lên hình ảnh
- Hiển thị kết quả tương tác
5. Cơ Sở Hạ Tầng Triển Khai
- Container Docker cho môi trường nhất quán
- Phát triển: Docker Compose cho kiểm thử cục bộ
- Sản xuất: Phối hợp Kubernetes để mở rộng
- Nginx reverse proxy cho quản lý lưu lượng
6. Giám Sát & Quan Sát
- Giám Sát Hiệu Suất: Số liệu Prometheus với bảng điều khiển Grafana
- Cảnh báo: Thông báo tự động cho các vấn đề hệ thống
7. Khung Bảo Mật
- Xác thực JWT cho tất cả tương tác API
- Hệ thống kiểm soát truy cập dựa trên vai trò
- Lưu trữ và truyền thông tin xác thực an toàn