Feature: Add point-cloud embedding task and Uni3D model family

Đang mở
#1,929 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python, pytorch
Lĩnh vực
ai, machine-learning

Hướng nghiên cứu

Start by reading the existing image_to_embedding task contract and the PointNet family implementation, then trace how families build bundles and run through the native TensorRT runtime. The issue names modelzoo/uni3d-b/model.pt as the model source and calls for an E2E comparing embeddings with the official PyTorch reference and checking ModelNet40 top-1 agreement. Done means the points_to_embedding contract and Uni3D family are supported, with those E2E checks passing.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement
Request type

New model or checkpoint support

Problem and use case

TensorRT-Model-Connect now has a point-cloud task (points_to_semantic_segmentation, added with the PointNet family in #1384), but no general-purpose point-cloud encoder. The repository already exposes image_to_embedding and text_to_embedding for CLIP-style models, while 3D point clouds have no equivalent embedding path.

3D-CLIP encoders such as Uni3D map a colored point cloud into the same embedding space as a CLIP text/image encoder. That enables zero-shot 3D classification, text-to-3D and image-to-3D retrieval, and a general 3D feature extractor for robotics and scene understanding, without training a task-specific head.

Proposed outcome
  • Add a points_to_embedding task contract that follows the existing image_to_embedding shape: points [N, C] in, one embedding vector out.
  • Add a uni3d family that builds the Uni3D point encoder into a bundle and runs it through the native runtime.
  • Add an E2E that compares the TensorRT embedding against the official PyTorch reference (cosine similarity) and checks zero-shot ModelNet40 top-1 agreement, using class-prompt text embeddings precomputed once and stored as a fixture. The CLIP text encoder stays outside the engine.
Model and target details
  • Model: Uni3D-B (BAAI/Uni3D, modelzoo/uni3d-b/model.pt, revision 3d8233b76aa350d72f6213ecd2123c2026b42355; code at baaivision/Uni3D 64e03c3c)
  • Input: 10,000 points with XYZ + RGB; 512 groups of 64 points
  • Output: 1024-d embedding in the EVA02-E-14-plus CLIP space
  • Precision: FP16 first; FP8 for the ViT blocks as a follow-up
  • Target: NVIDIA GPU, TensorRT native runtime

The encoder is a PointBERT-style tokenizer (farthest point sampling, kNN grouping, a mini-PointNet) followed by a standard EVA ViT. kNN is already torch.topk. The only custom CUDA op upstream is pointnet2_ops farthest point sampling, which I will replace with a plain PyTorch implementation that starts from index 0 like pointnet2_ops, keeping the whole network in standard ONNX ops with no plugins or family-owned kernels.

Alternatives considered

No response

Additional context

License: the upstream project is MIT licensed (baaivision/Uni3D#8).

Submission checks
  • I searched open and closed issues and found no duplicate request.
  • I removed secrets, private/internal evidence, personal paths, and restricted artifacts.
Ngôn ngữ chính
Python
Star
283
Fork
75
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
227

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NVIDIA/TensorRT-Model-Connect

Tất cả issue của NVIDIA/TensorRT-Model-Connect

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.