Chạy các model phát hiện và phân đoạn đối tượng của Ultralytics chỉ với vài dòng code
Hướng dẫn từng bước chạy các model phát hiện và phân đoạn đối tượng của Ultralytics chỉ với vài dòng code.

Chào mừng bạn đến với một blogpost khác, nơi chúng ta sẽ tìm hiểu sâu về khả năng của các model Ultralytics' YOLOv5 và YOLOv8 trong phát hiện đối tượng và phân đoạn. Chúng ta sẽ khám phá cách tích hợp các model dễ sử dụng này vào dự án của bạn chỉ với vài dòng code. Dù bạn là người mới bắt đầu hay developer giàu kinh nghiệm, bạn sẽ thấy Ultralytics hỗ trợ nhiều model khác nhau và các kiến trúc, bao gồm nhiều phiên bản YOLO khác nhau và các model dựa trên Transformer.
Trong video của mình, Nicolai Nielsen hướng dẫn chúng ta quy trình thiết lập và sử dụng nhiều model khác nhau trong framework Ultralytics. Hãy cùng phân tích từng bước và xem cách bạn có thể bắt đầu với những công cụ mạnh mẽ 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. Framework này bao gồm các model YOLO phổ biến, từ YOLOv3 đến YOLOv8 mới nhất, cũng như các model YOLO-NAS và SAM. Các model này được thiết kế để xử lý nhiều tác vụ như phát hiện, phân đoạn và ước tính tư thế theo thời gian thực.
Để bắt đầu, 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 chúng trong các 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:
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 của mình. Hãy bắt đầu với model Ultralytics YOLOv8 làm ví dụ.
Các tính năng chính của Ultralytics YOLOv8#
Ultralytics YOLOv8 có nhiều cải tiến so với các phiên bản tiền nhiệm. Model này được thiết kế để nhanh hơn và chính xác hơn, rất phù hợp cho các ứng dụng thời gian thực. Một số tính năng chính bao gồm:
- Tăng cường tốc độ và độ chính xác
- Trọng số được pre-train 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 thiện để nâng cao hiệu suất
Chạy Ultralytics YOLOv8 trong Python#
Sau đây là cách bạn có thể bắt đầu với Ultralytics YOLOv8 chỉ bằng vài dòng code:
from ultralytics import YOLO
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on an image
results = model("path/to/image.jpg")Vậy là xong! Bạn vừa chạy một model YOLOv8 trên một hình ảnh. Chính sự đơn giản này khiến các model Ultralytics trở nên mạnh mẽ và 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
# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")
# Run inference on the webcam feed (source=0) and display the results
results = model.predict(source=0, show=True)Script này sẽ mở webcam của bạn và áp dụng 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ỉ dừng lại ở YOLOv8. Ultralytics cũng hỗ trợ nhiều model khác như YOLOv5, YOLO-NAS và các model dựa trên Transformer để phát hiện theo thời gian thực. Mỗi model đều có những điểm 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, mang lại hiệu suất thời gian thực và độ chính xác cao. Model này sử dụng backbone dựa trên conv và một encoder hybrid hiệu quả để đạt tốc độ thời gian thực, hoạt động xuất sắc 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 bạn có thể chạy model RT-DETR:
from ultralytics import RTDETR
# Load a COCO-pretrained RT-DETR-l model
model = RTDETR("rtdetr-l.pt")
# Run inference on an image
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 đối tượng trong hình ảnh, cung cấp thông tin chi tiết về khung cảnh.
Chạy FastSAM#
FastSAM được tối ưu hóa cho phân đoạn thời gian thực, và sau đây là cách bạn có thể chạy model này:
from ultralytics import FastSAM
# Create a FastSAM model
model = FastSAM("FastSAM-s.pt") # or FastSAM-x.pt
# Run inference on an image
results = model("path/to/image.jpg", device="cpu", retina_masks=True, imgsz=1024, conf=0.4, iou=0.9)Model này rất phù hợp cho các ứng dụng yêu cầu phân đoạn nhanh và chính xác.
Hiệu suất và so sánh#
Một trong những tính năng nổi bật của framework Ultralytics là khả năng so sánh các model khác nhau cạnh nhau. Bạn có thể dễ dàng xác định model nào hoạt động tốt nhất cho ứng dụng cụ thể của mình bằng cách xem các chỉ số hiệu suất 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 việc chạy các model phát hiện đối tượng và phân đoạn trở nên cực kỳ dễ dàng, chỉ với vài dòng code. Dù bạn đang phát triển các ứng dụng thời gian thực hay cần các model có độ chính xác cao, Ultralytics đều có giải pháp phù hợp. Hãy xem toàn bộ hướng dẫn của Nicolai Nielsen trên kênh YouTube của Ultralytics để biết thêm thông tin chuyên sâu và các ví dụ.
Hãy đón chờ thêm nhiều hướng dẫn và cập nhật từ cộng đồng Ultralytics!









