[Open Source] #228 - 4DGS-Video-Generator: Hệ thống tái cấu trúc video 4D Gaussian Splatting chuyên sâu với kiến trúc Apple SHARP, gsplat và Flet GUI
Việc chuyển đổi video 2D thông thường thành không gian 3D động (4D) là một trong những biên giới mới nhất của đồ họa máy tính. 4DGS-Video-Generator ra đời như một bộ công cụ hoàn chỉnh, cho phép người dùng biến một chuỗi khung hình video thành một chuỗi các tệp Gaussian Splatting (3DGS) có tính nhất quán cao. Sức mạnh của dự án nằm ở việc tích hợp mô hình nền tảng (Foundation Model) SHARP của Apple, cho phép dự đoán cấu trúc 3D chỉ từ một góc nhìn duy nhất, mở ra khả năng tạo nội dung thực tế ảo (VR/AR) từ các video quay bằng điện thoại.
Dưới góc độ kỹ thuật, dự án là một minh chứng xuất sắc về việc ứng dụng Deep Learning Inference quy mô lớn, kỹ thuật Patch-based Processing và tư duy thiết kế giao diện Asynchronous GUI.
Github: https://github.com/andriishramko/4DGS-Video-Generator
🛠️ 1. Nền tảng công nghệ: Giao thoa giữa AI và Đồ họa cấp thấp
Dự án tận dụng những thư viện tiên phong trong lĩnh vực tái cấu trúc 3D:
- Brain Kernel (Apple SHARP): Sử dụng mô hình Single-view High-resolution Alignment and Reconstruction Predictor. Đây là nhân tố cốt lõi giúp dự đoán các thuộc tính Gaussian (màu sắc, vị trí, tỷ lệ, xoay, độ đục) từ ảnh 2D với độ phân giải cực cao (1536x1536).
- Feature Extractor (DINOv2): SHARP sử dụng backbone DINOv2 (thông qua thư viện
timm) để trích xuất các đặc trưng ngữ nghĩa mạnh mẽ, giúp hệ thống "hiểu" được độ sâu và khối lượng của vật thể mà không cần dữ liệu LiDAR. - Inference Engine (gsplat): Tích hợp thư viện gsplat để tối ưu hóa việc tính toán và quản lý hàng triệu hạt Gaussian, đảm bảo quá trình render và xuất tệp diễn ra chính xác theo cấu trúc toán học của 3DGS.
- Modern GUI (Flet): Một lựa chọn kiến trúc thông minh: sử dụng Flet (Flutter for Python) để xây dựng giao diện người dùng. Điều này mang lại trải nghiệm mượt mà của Flutter nhưng vẫn giữ được logic xử lý linh hoạt của Python.
🏗️ 2. Trụ cột kiến trúc: Modular và Multi-hardware Support
Kiến trúc của dự án được thiết kế để xử lý các tác vụ tính toán nặng nề một cách ổn định:
- Decoupled Processing Architecture: Tách biệt hoàn toàn giữa lớp giao diện (
video_app.py) và lớp xử lý logic (video_processor.py). Cách tiếp cận này cho phép hệ thống thực hiện nâng cấp mô hình AI hoặc thay đổi thuật toán xử lý video mà không làm hỏng giao diện người dùng. - Asynchronous Threading Model: Việc inference hàng trăm frame video là tác vụ tiêu tốn hàng chục phút. Dự án sử dụng mô hình đa luồng (Threading) để đẩy quá trình tính toán xuống nền, giữ cho GUI luôn phản hồi và cập nhật tiến độ (Progress bar) theo thời gian thực.
- Hardware-Agnostic Inference: Hệ thống tự động phân cấp phần cứng: Ưu tiên NVIDIA CUDA, sau đó đến Apple Silicon (MPS), và cuối cùng mới lùi về CPU. Điều này đảm bảo tính khả dụng trên cả máy trạm mạnh mẽ lẫn laptop cá nhân.
🔄 3. Workflow: Vòng đời từ Video 2D đến Chuỗi 4DGS (Sequence Diagram)
Sơ đồ mô tả quy trình hệ thống điều phối dữ liệu qua từng khung hình:

⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn
- Patch-based High-Res Processing: Để xử lý ảnh 1536x1536 mà không làm tràn bộ nhớ VRAM, hệ thống chia nhỏ ảnh thành các patch 384x384. Kỹ thuật này cho phép duy trì độ chi tiết cực cao cho các hạt Gaussian, giúp bề mặt vật thể trông mịn và thực tế hơn.
- Global Camera Consistency: Một kỹ thuật quan trọng trong xử lý 4D: dự án ép buộc sử dụng một ma trận Camera Intrinsics cố định cho toàn bộ video. Điều này ngăn chặn hiện tượng "jitter" (rung lắc) hoặc thay đổi kích thước vật thể bất thường giữa các khung hình.
- Automatic Focal Length Estimation: Tích hợp thuật toán hình học để tự động tính toán tiêu cự dựa trên độ phân giải:
f = (w/2) / tan(FOV/2). Điều này giúp người dùng phổ thông không cần kiến thức về quang học vẫn có thể tạo ra dữ liệu 3D chuẩn xác. - PLY Metadata Standardization: Apple SHARP mặc định xuất ra định dạng PLY chứa các thuộc tính không tương thích với các trình xem chuẩn. Tác giả đã xây dựng một bộ lọc (
convert_sharp_ply.py) để tái cấu trúc tệp nhị phân, đảm bảo dữ liệu đầu ra có thể nạp được vào mọi hệ sinh thái 3DGS hiện nay.
⚖️ 5. So sánh chiến lược
| Tiêu chí | 4DGS-Video-Generator | NeRF-based Video | Traditional 3D Scanning |
|---|---|---|---|
| Dữ liệu đầu vào | Video đơn lẻ (Single-view) | Video đa góc nhìn | Hàng trăm ảnh tĩnh |
| Thời gian xử lý | Vài giây/frame | Vài giờ/video | Rất lâu |
| Tính tương tác | Rất cao (Gaussian hạt) | Trung bình (Volumetric) | Thấp (Mesh tĩnh) |
| Độ chân thực | Cực cao (Photo-realistic) | Cao | Phụ thuộc vân bề mặt |
| Hạ tầng | Local GPU (Tự chủ) | Thường cần Cloud | Cần phần cứng chuyên dụng |
✅ Kết luận: Tại sao đây là dự án mẫu mực cho AI Computer Vision?
Dự án của Andrii Shramko chứng minh rằng các mô hình AI phức tạp của các tập đoàn lớn (như Apple) có thể được "dân chủ hóa" thông qua một kiến trúc phần mềm tốt. Bằng cách bao bọc mô hình SHARP vào một hạ tầng xử lý video tự động và giao diện dễ tiếp cận, dự án đã tạo ra một cầu nối quan trọng cho các nhà sáng tạo nội dung bước vào thế giới 4D.
Đối với các kỹ sư AI và Backend, nghiên cứu dự án này giúp bạn hiểu sâu về:
- Kỹ thuật điều phối Deep Learning Pipeline trong ứng dụng thực tế.
- Cách xử lý Metadata nhị phân của các định dạng 3D đặc thù.
- Tư duy thiết kế Giao diện đa nền tảng cho các tác vụ tính toán nặng.
All Rights Reserved