Object Detection
ultralytics
ONNX
TensorRT
Vietnamese
yolo
yolov8
torchscript
int8
fp16
vision
traffic-sign
vietnam
Instructions to use liamxdev/vtsr with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use liamxdev/vtsr with ultralytics:
from ultralytics import YOLOvv8 model = YOLOvv8.from_pretrained("liamxdev/vtsr") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - TensorRT
How to use liamxdev/vtsr with TensorRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
| language: | |
| - vi | |
| license: agpl-3.0 | |
| library_name: ultralytics | |
| pipeline_tag: object-detection | |
| tags: | |
| - yolo | |
| - yolov8 | |
| - onnx | |
| - torchscript | |
| - tensorrt | |
| - int8 | |
| - fp16 | |
| - vision | |
| - object-detection | |
| - traffic-sign | |
| - vietnam | |
| **Ngôn ngữ tài liệu** | |
| - 🇺🇸 English: README.md | |
| - 🇻🇳 Tiếng Việt: README.vi.md | |
| # VTSR | |
| VTSR là mô hình phát hiện đối tượng YOLOv8n được huấn luyện để nhận diện 56 lớp biển báo giao thông Việt Nam. | |
| Kho lưu trữ này tập trung vào các phiên bản mô hình đã được tối ưu hóa cho triển khai thực tế, được xuất từ checkpoint PyTorch FP32 gốc, bao gồm ONNX INT8, TensorRT INT8 và TorchScript FP16. | |
| ## Demo | |
| Demo tương tác được triển khai trên Hugging Face Spaces: | |
| https://huggingface.co/spaces/liamxdev/vtsr | |
| Hiện tại demo sử dụng mô hình ONNX INT8 để suy luận tương thích với CPU. | |
| ## Thông tin mô hình | |
| | Thuộc tính | Giá trị | | |
| | ------------------ | ------------------------------- | | |
| | Nhiệm vụ | Phát hiện đối tượng | | |
| | Kiến trúc | YOLOv8n | | |
| | Số lớp | 56 | | |
| | Kích thước đầu vào | 640 × 640 | | |
| | Mô tả nhãn | `label-mapping.json` | | |
| | Tập dữ liệu | Vietnam Traffic Sign Dataset v3 | | |
| | Giấy phép | AGPL-3.0 | | |
| Mô hình trả về các mã biển báo giao thông như `P-102`, `R-303`, `W-224`... Mô tả tiếng Việt tương ứng của các mã này được cung cấp trong tệp `label-mapping.json`. | |
| ## Các tệp mô hình | |
| | Tệp | Độ chính xác | Nền tảng mục tiêu | | |
| | -------------------- | ------------ | ----------------------------------------- | | |
| | `vtsr.pt` | FP32 | PyTorch | | |
| | `vtsr_int8.onnx` | INT8 | ONNX Runtime, CPU, triển khai đa nền tảng | | |
| | `vtsr.torchscript` | FP16 | Runtime hỗ trợ TorchScript | | |
| | `vtsr.engine` | INT8 | NVIDIA TensorRT và Jetson | | |
| | `label-mapping.json` | — | Mô tả mã biển báo giao thông | | |
| > Checkpoint PyTorch FP32 gốc không được cung cấp trong kho này. Chỉ các phiên bản tối ưu hóa cho triển khai được phân phối. | |
| ## Cách sử dụng | |
| Cài đặt thư viện: | |
| ```bash | |
| pip install ultralytics | |
| ``` | |
| Chạy suy luận: | |
| ```python | |
| from ultralytics import YOLO | |
| # Các định dạng được hỗ trợ: | |
| # vtsr.pt | |
| # vtsr_int8.onnx | |
| # vtsr.torchscript | |
| # vtsr.engine | |
| model = YOLO("vtsr_int8.onnx") | |
| results = model.predict( | |
| source="traffic.jpg", | |
| imgsz=640, | |
| conf=0.25, | |
| ) | |
| results[0].save("result.jpg") | |
| ``` | |
| Xem `label-mapping.json` để tra cứu mô tả tiếng Việt của các mã biển báo. | |
| ## Tải từ Hugging Face Hub | |
| ```python | |
| from huggingface_hub import hf_hub_download | |
| repo_id = "liamxdev/vtsr" | |
| model_path = hf_hub_download( | |
| repo_id=repo_id, | |
| filename="vtsr_int8.onnx", | |
| ) | |
| mapping_path = hf_hub_download( | |
| repo_id=repo_id, | |
| filename="label-mapping.json", | |
| ) | |
| ``` | |
| Các tệp khác cũng có thể được tải theo cách tương tự: | |
| * `vtsr.pt` | |
| * `vtsr.torchscript` | |
| * `vtsr.engine` | |
| ## Benchmark | |
| Xem `benchmark.md` để biết các số liệu về độ trễ (latency) và thông lượng (throughput). | |
| ## Các lớp được hỗ trợ | |
| Mô hình hỗ trợ 56 mã biển báo giao thông Việt Nam thuộc các nhóm chính: | |
| * `P-*`: Biển báo cấm. | |
| * `R-*`: Biển báo hiệu lệnh và chỉ dẫn bắt buộc. | |
| * `W-*`: Biển báo cảnh báo nguy hiểm. | |
| * `S-*` và `DP-*`: Biển phụ hoặc biển báo đặc biệt có trong tập dữ liệu huấn luyện. | |
| Xem `label-mapping.json` để biết danh sách đầy đủ và ý nghĩa của từng biển báo. | |
| ## Dữ liệu huấn luyện | |
| Mô hình được huấn luyện trên phiên bản 3 của Vietnam Traffic Sign Dataset được công bố trên Roboflow Universe. | |
| Theo thông tin từ bộ dữ liệu, dữ liệu được phát hành theo giấy phép CC BY 4.0. | |
| ## Mục đích sử dụng | |
| * Học tập và nghiên cứu. | |
| * Nguyên mẫu phân tích cảnh giao thông. | |
| * Demo nhận diện biển báo giao thông Việt Nam. | |
| * Triển khai trên CPU thông qua ONNX Runtime. | |
| * Triển khai trên GPU NVIDIA và Jetson thông qua TensorRT. | |
| * Triển khai nhẹ với TorchScript. | |
| ## Hạn chế | |
| * Mô hình chỉ nhận diện được 56 lớp biển báo có trong `label-mapping.json`. | |
| * Chất lượng phát hiện có thể giảm đối với biển báo nhỏ, mờ, bị che khuất, hư hỏng, thiếu sáng hoặc có góc chụp bất thường. | |
| * Hình ảnh nằm ngoài phân phối dữ liệu huấn luyện có thể gây bỏ sót hoặc nhận diện sai. | |
| * Kết quả nhận diện không thay thế cho việc diễn giải biển báo chính thức hoặc các quyết định lái xe quan trọng liên quan đến an toàn. | |
| * Các mô hình lượng tử hóa hoặc giảm độ chính xác có thể có sai khác về độ chính xác so với checkpoint PyTorch gốc. | |
| * TensorRT Engine phụ thuộc phần cứng và có thể cần được tạo lại cho các kiến trúc GPU khác nhau. | |
| ## Giấy phép | |
| Mô hình được xuất từ Ultralytics YOLO và được phân phối theo giấy phép AGPL-3.0. | |
| Việc ghi nhận nguồn dữ liệu và các điều khoản của giấy phép CC BY 4.0 đối với bộ dữ liệu được áp dụng riêng. | |
| Đối với nhu cầu cấp phép thương mại cho các thành phần của Ultralytics, vui lòng tham khảo: | |
| https://www.ultralytics.com/license | |
| ## Trích dẫn | |
| ```bibtex | |
| @misc{vietnam_traffic_sign_altsi_dataset, | |
| title = {Vietnam Traffic Sign Dataset}, | |
| author = {giang}, | |
| year = {2024}, | |
| publisher = {Roboflow Universe}, | |
| howpublished = {\url{https://universe.roboflow.com/giang-yp9g1/vietnam-traffic-sign-altsi}} | |
| } | |
| ``` | |