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.
- 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:
pip install "libreyolo[openvocab]"Extra đó kéo về transformers và timm, 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/.
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)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. imgsz và augment=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 t và b. 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() và 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.pt | 800 | apache-2.0 |
| LibreGroundingDINOb.pt | 800 | apache-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
- Nguồn thượng nguồn
- github.com/IDEA-Research/GroundingDINO
- 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.