Grounding DINO

Grounding DINO là detector đối tượng open-set do IDEA Research phát triển, chấm điểm ảnh theo prompt văn bản tự do thay vì danh sách lớp đối tượng cố định. LibreYOLO bọc mô hình thành họ chỉ dành cho dự đoán trong cấp detector với từ vựng mở.

Tác vụ
detection
Kích thước
t, b at 800 px
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Bậc song hành, từ v. Một bề mặt sản phẩm riêng với factory và contract riêng.
Thượng nguồn
Grounding DINO của IDEA Research, Apache-2.0. Bài báo, mã nguồn
Giấy phép
Mã nguồn MIT, trọng số Apache-2.0. Sử dụng thương mại

Cài đặt

Grounding DINO tải qua cấp detector với từ vựng mở của LibreYOLO, cấp này cần extra openvocab:

bash
pip install "libreyolo[openvocab]"

Extra đó kéo về transformerstimm, các thư viện Hugging Face mà cấp này sử dụng.

Dự đoán

Grounding DINO không phải checkpoint mà LibreYOLO tải qua LibreYOLO(). Mô hình tải qua factory LibreOpenVocab cùng cấp, factory này tải snapshot Hugging Face trong lần sử dụng đầu tiên và lưu vào bộ nhớ đệm dưới weights/.

Python
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("grounding-dino-t")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.25)for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
Ngưỡng văn bản
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("grounding-dino-b")model.set_classes(["remote control", "school bus"]) # conf lọc theo điểm box, text_threshold lọc theo điểm token của cụm từ# đã giải mã. Cả hai mặc định là 0.25 khi không được đặt.result = model.predict(SAMPLE_IMAGE, conf=0.25, text_threshold=0.3)print(result.names)

set_classes() đặt từ vựng văn bản được giữ lại: gọi lại để thay danh sách hoặc bỏ qua để giữ nhãn COCO-80 mặc định. Grounding DINO giải mã các cụm từ tự do từ đầu ra văn bản của chính nó rồi tự ánh xạ về từ vựng đó; kết quả khớp chuẩn hóa chính xác được ưu tiên, kết quả khớp toàn token được chấp nhận, còn cụm từ mơ hồ hoặc không khớp sẽ bị bỏ thay vì đoán, vì vậy school bus không bao giờ được ánh xạ riêng thành bus hoặc school. Từ vựng đủ dài để vượt giới hạn token của text encoder được chia thành nhiều prompt, chạy như các forward pass riêng và hợp nhất lại thành một tập detection bị giới hạn bởi max_det.

iou được chấp nhận để tương thích API nhưng phát cảnh báo và không làm gì vì không có non-maximum suppression ở đây. imgszaugment=True bị từ chối hoàn toàn: processor của transformers sở hữu bước đổi kích thước, còn tăng cường khi kiểm thử nằm ngoài phạm vi của cấp này. predict() trên một ảnh trả về một Results, không phải danh sách; truyền thư mục, danh sách ảnh hoặc stream=True cho nguồn video để nhận nhiều kết quả. Không có tuyến CLI cho họ mô hình này; libreyolo predict chỉ tải checkpoint .pt qua LibreYOLO(), vì vậy các họ LibreOpenVocab chạy từ Python. Xem dự đoán để biết loại nguồn và xử lý luồng.

Biến thể

Có hai checkpoint tb. t là kích thước mặc định của cấp này khi không chỉ định. Cả hai mirror bản phát hành chính thức của IDEA Research qua GroundingDinoForObjectDetection trong transformers, được tải một lần vào snapshot Hugging Face do LibreYOLO host và giữ nguyên các tệp upstream. Chưa có số liệu độ chính xác hoặc độ trễ nào được công bố cho họ mô hình này.

Huấn luyện, xác thực tập dữ liệu (dataset) và xuất đều nằm ngoài phạm vi của cấp này: train(), val()export() luôn phát sinh NotImplementedError. Đây là wrapper chỉ dành cho dự đoán quanh checkpoint đã phát hành.

Checkpoint

Mọi tệp trọng số đã phát hành cho họ mô hình này.

TệpĐầu vào (px)Giấy phép trọng số
Detection
LibreGroundingDINOt.pt800apache-2.0
LibreGroundingDINOb.pt800apache-2.0

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
Grounding DINO, IDEA Research
Giấy phép thượng nguồn
Apache-2.0
Mã nguồn LibreYOLO
MIT
Trọng số
Apache-2.0, được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
Apache-2.0 is a permissive license, so this checkpoint can be used in commercial and closed-source products. It asks you to keep the license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. LibreYOLO vendors no Grounding DINO model source of its own: LibreGroundingDINO calls the Apache-2.0 `transformers` implementation, `GroundingDinoForObjectDetection`, directly, and downloads the official checkpoint into a LibreYOLO-hosted mirror repository that preserves the upstream snapshot files.

Trích dẫn

@article{liu2023grounding,
  title={Grounding dino: Marrying dino with grounded pre-training for open-set object detection},
  author={Liu, Shilong and Zeng, Zhaoyang and Ren, Tianhe and Li, Feng and Zhang, Hao and Yang, Jie and Li, Chunyuan and Yang, Jianwei and Su, Hang and Zhu, Jun and others},
  journal={arXiv preprint arXiv:2303.05499},
  year={2023}
}

Được sao chép từ khối trích dẫn của tác giả tại github.com/IDEA-Research/GroundingDINO#black_nib-citation.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.