Chạy các model phát hiện đối tượng và phân đoạn của Ultralytics chỉ với vài dòng code
Tìm hiểu cách chạy các model phát hiện đối tượng và phân đoạn Ultralytics YOLOv8, RT-DETR và FastSAM trong Python chỉ với vài dòng code.
Nuvola Ladi5 phút đọc
Trong bài viết này, chúng ta sẽ tìm hiểu khả năng của các model Ultralytics YOLOv5 và YOLOv8 trong các tác vụ phát hiện đối tượng và phân đoạn. Chúng ta sẽ tìm hiểu cách tích hợp các model dễ sử dụng này vào dự án chỉ với một vài dòng code. Dù bạn là người mới bắt đầu hay nhà phát triển giàu kinh nghiệm, bạn sẽ thấy Ultralytics hỗ trợ nhiều model và kiến trúc, bao gồm các phiên bản YOLO khác nhau và model dựa trên Transformer.
Trong video của mình, Nicolai Nielsen hướng dẫn quy trình thiết lập và sử dụng nhiều model khác nhau trong framework Ultralytics. Hãy cùng tìm hiểu từng bước để xem cách bạn có thể bắt đầu sử dụng các công cụ này.
Bắt đầu với các model Ultralytics#
Ultralytics cung cấp một framework toàn diện hỗ trợ nhiều model phát hiện đối tượng và phân đoạn. Trong đó có các model YOLO phổ biến, từ YOLOv3 đến YOLOv8 (sau này được YOLO26 kế nhiệm), cũng như YOLO-NAS và các model SAM. Các model này được thiết kế để xử lý nhiều tác vụ như phát hiện theo thời gian thực, phân đoạn và ước tính tư thế.
Trước tiên, hãy truy cập trang tài liệu Ultralytics. Tại đây, bạn có thể tìm thấy thông tin chi tiết về từng model, bao gồm các tính năng chính, kiến trúc và cách sử dụng model trong script Python.
Thiết lập môi trường#
Trước tiên, hãy đảm bảo bạn đã cài đặt Ultralytics. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
pip install ultralyticsSau khi hoàn tất, bạn có thể bắt đầu sử dụng các model này trong dự án. Hãy lấy model Ultralytics YOLOv8 làm ví dụ.
Các tính năng chính của Ultralytics YOLOv8#
Ultralytics YOLOv8 có một số cải tiến so với các phiên bản trước. Model được thiết kế để chạy nhanh và chính xác hơn, phù hợp với các ứng dụng thời gian thực. Một số tính năng chính gồm:
- Tăng tốc độ và độ chính xác
- Trọng số pretrained cho nhiều tác vụ
- Hỗ trợ phát hiện đối tượng, phân đoạn và phân loại
- Kiến trúc model được cải tiến để nâng cao hiệu suất
Chạy Ultralytics YOLOv8 bằng Python#
Sau đây là cách bắt đầu sử dụng Ultralytics YOLOv8 chỉ với vài dòng code:
from ultralytics import YOLO
# Tải model YOLOv8 đã được huấn luyện trước
model = YOLO("yolov8n.pt")
# Chạy inference trên một ảnh
results = model("path/to/image.jpg")Vậy là xong! Bạn vừa chạy inference bằng model YOLOv8 trên một ảnh. Sự đơn giản này giúp các model Ultralytics rất dễ sử dụng.
Phát hiện trực tiếp qua webcam#
Bạn muốn xem Ultralytics YOLOv8 hoạt động trên luồng webcam trực tiếp? Sau đây là cách thực hiện:
from ultralytics import YOLO
# Tải model YOLOv8 đã được huấn luyện trước
model = YOLO("yolov8n.pt")
# Chạy inference trên luồng webcam (source=0) và hiển thị kết quả
results = model.predict(source=0, show=True)Script này sẽ mở webcam và chạy model Ultralytics YOLOv8 để phát hiện đối tượng theo thời gian thực.

Hình 1. Nicolai Nielsen trình bày cách chạy các model phát hiện đối tượng và phân đoạn của Ultralytics.
Khám phá các model khác#
Ultralytics không chỉ có YOLOv8. Nền tảng còn hỗ trợ nhiều model khác như YOLOv5, YOLO-NAS và model dựa trên Transformer để phát hiện theo thời gian thực. Mỗi model đều có thế mạnh và trường hợp sử dụng riêng.
Các model Transformer và cách chạy chúng#
Model RT-DETR, do Baidu phát triển và được Ultralytics hỗ trợ, là một model phát hiện đối tượng end-to-end tiên tiến, có hiệu năng thời gian thực và độ chính xác cao. Model sử dụng backbone dựa trên convolution và hybrid encoder hiệu quả để đạt tốc độ thời gian thực, cho hiệu năng vượt trội trên CUDA với TensorRT, đồng thời hỗ trợ điều chỉnh linh hoạt tốc độ inference.
Sau đây là cách chạy model RT-DETR:
from ultralytics import RTDETR
# Tải model RT-DETR-l pretrained trên COCO
model = RTDETR("rtdetr-l.pt")
# Chạy inference trên một ảnh
results = model("path/to/image.jpg")Các model Segment Anything#
Ultralytics cũng cung cấp các model cho tác vụ phân đoạn, chẳng hạn như MobileSAM và FastSAM. Các model này được thiết kế để phân đoạn mọi thứ trong ảnh, cung cấp thông tin chi tiết về cảnh.
Chạy FastSAM#
FastSAM được tối ưu hóa cho phân đoạn thời gian thực. Sau đây là cách chạy model:
from ultralytics import FastSAM
# Tạo một model FastSAM
model = FastSAM("FastSAM-s.pt") # hoặc FastSAM-x.pt
# Chạy inference trên một ảnh
results = model("path/to/image.jpg", device="cpu", retina_masks=True, imgsz=1024, conf=0.4, iou=0.9)Model này phù hợp với các ứng dụng cần phân đoạn nhanh và chính xác.
Hiệu năng và so sánh#
Một tính năng hữu ích của hệ sinh thái Ultralytics là khả năng so sánh các model khác nhau cạnh nhau. Bạn có thể xác định model nào phù hợp nhất với ứng dụng cụ thể bằng cách xem các metric hiệu năng như tốc độ inference và độ chính xác trung bình (mAP).
Những điểm chính cần ghi nhớ#
Ultralytics giúp bạn dễ dàng chạy model phát hiện đối tượng và phân đoạn chỉ với một vài dòng code. Dù bạn đang phát triển ứng dụng thời gian thực hay cần model có độ chính xác cao, Ultralytics đều có giải pháp phù hợp. Hãy xem hướng dẫn đầy đủ của Nicolai Nielsen trên kênh YouTube Ultralytics để tìm hiểu sâu hơn và tham khảo ví dụ.
Hãy đón chờ thêm các hướng dẫn và cập nhật từ cộng đồng Ultralytics!
Được viết bởi
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.










