Chinatomguluson92/PRNet_PyTorch
Training & Inference Code of PRNet in PyTorch 1.1.0
🧑🦲 Tái tạo khuôn mặt 3D chỉ từ ảnh 2D bằng Position Map Regression Network
PRNet dự đoán một UV position map — bản đồ pixel mã hóa tọa độ 3D trên bề mặt khuôn mặt — rồi dùng nó tái dựng mesh 3D và alignment chặt chẽ cùng lúc.
PRNet_PyTorch là bản cài đặt PyTorch 1.1.0 không chính thức của paper "Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network" (ECCV 2018). Dự án cung cấp đầy đủ pipeline từ tiền xử lý dataset 300WLP, sinh UV position map, huấn luyện mô hình, cho đến inference trên ảnh mới.
✨ Điểm nổi bật
- UV Position Map: Mô hình học cách dự đoán một bản đồ 2D trong đó mỗi pixel mã hóa tọa độ XYZ tương ứng trên bề mặt khuôn mặt 3D — representation độc đáo của PRNet.
- Tái tạo 3D + Alignment chặt: Giải quyết đồng thời 3D face reconstruction và dense facial landmark alignment trong một mạng duy nhất.
- Pipeline huấn luyện đầy đủ: Script sinh UV position map từ dataset 300WLP (
generate_posmap_300WLP.py), script train, script inference — sẵn sàng chạy. - Pretrained model có sẵn: File weights
results/latest.pthđã được cung cấp, bỏ qua bước train vẫn inference được ngay. - Tensorboard visualization: Hỗ trợ theo dõi quá trình huấn luyện qua Tensorboard, trực quan hóa UV map predicted vs ground truth.
- Dataset 300WLP tích hợp: Tương thích dataset 300WLP với cấu trúc thư mục rõ ràng, kèm link tải data đã xử lý sẵn (original + UV posmap pair).
- Basel Face Model: Sử dụng BFM.mat làm nền tảng cho mesh 3D, file đã được cung cấp sẵn qua Google Drive.
💡 Vì sao đáng chú ý
PRNet khác biệt ở cách tiếp cận: thay vì regressed trực tiếp các landmark 3D hay fitting mesh, mạng học một UV position map — mỗi pixel trên ảnh 2D được gán tọa độ 3D. Representation này giữ được cấu trúc topology cố định, giúp post-processing (như rendering, texture mapping) đơn giản hóa đáng kể.
Đây là bản PyTorch không chính thức nhưng bổ sung khoảng trống mà repo gốc thiếu — code huấn luyện hoàn chỉnh trên 300WLP. Nếu bạn muốn nghiên cứu hoặc ứng dụng 3D face reconstruction nhưng cần một pipeline train từ đầu chứ không chỉ dùng pretrained, đây là starting point hợp lý.
#3DFaceReconstruction #PyTorch #DenseAlignment #ComputerVision #TiniX
Similar Projects
Discover other similar projects and AI models.
Official implementation of "Neuralangelo: High-Fidelity Neural Surface Reconstruction" (CVPR 2023)
pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.