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

Chào mừng bạn đến với một bài viết blog khác, nơi chúng ta sẽ khám phá các tính năng của các model Ultralytics' YOLOv5 và YOLOv8 đối với object detection và segmentation. 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 các 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 một lập trình viên có kinh nghiệm, bạn sẽ thấy cách Ultralytics hỗ trợ various models và các kiến trúc khác nhau, bao gồm các 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 qua quy trình thiết lập và sử dụng các model khác nhau trong framework Ultralytics. Hãy cùng phân tích chi tiết từng bước và xem cách bạn có thể bắt đầu với những công cụ tuyệt vời này.
Bắt đầu với các model của Ultralytics#
Ultralytics cung cấp một framework toàn diện hỗ trợ nhiều model object detection và segmentation. Điều 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ụ khác nhau như detection, segmentation và pose estimation theo thời gian thực.
Để bắt đầu, hãy truy cập Ultralytics documentation page. 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 của bạn.
Thiết lập môi trường của bạn#
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 các 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 đi kèm với một số 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 tốc độ và độ chính xác
- Trọng số (weights) được huấn luyện sẵn cho nhiều tác vụ
- Hỗ trợ nhận diện đối tượng, phân đoạn và phân loại
- Kiến trúc model cải tiến cho hiệu suất tốt hơn
Chạy Ultralytics YOLOv8 trong Python#
Dưới đây là cách bạn có thể bắt đầu với Ultralytics YOLOv8 chỉ trong vài dòng code:
from ultralytics import YOLO
# Load a pretrained Ultralytics 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. Sự đơn giản này chính là điều làm cho các model của Ultralytics trở nên mạnh mẽ và thân thiện với người dùng.
Nhận diện trực tiếp qua webcam#
Bạn muốn thấy Ultralytics YOLOv8 hoạt động trực tiếp trên nguồn cấp dữ liệu webcam trực tiếp? Dưới đây là cách bạn có thể thực hiện:
from ultralytics import YOLO
# Load a pretrained Ultralytics 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 các đối tượng trong thời gian thực.

Hình 1. Nicolai Nielsen phác thảo cách chạy các model object detection và segmentation của Ultralytics.
Khám phá các model khác#
Ultralytics không chỉ dừng lại ở YOLOv8. Họ cũng hỗ trợ nhiều other models khác như YOLOv5, YOLO-NAS và các model dựa trên Transformer để detection theo thời gian thực. Mỗi model có đ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 bộ nhận diệ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. Nó sử dụng backbone dựa trên conv và encoder lai hiệu quả cho tốc độ thời gian thực, vượt trội trên CUDA với TensorRT, và hỗ trợ điều chỉnh tốc độ inference linh hoạt.
Đây là cách bạn có thể chạy một 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 thứ trong một hình ả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, và đây là cách bạn có thể chạy nó:
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 hoàn hảo cho các ứng dụng đòi hỏi sự phân đoạn nhanh chóng và chính xác.
Hiệu suất và so sánh#
Một trong những tính năng tuyệt vời của framework Ultralytics là khả năng so sánh các model khác nhau đặt 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 xét các chỉ số hiệu suất như tốc độ inference và mean average precision (mAP).
Những điểm chính cần ghi nhớ#
Ultralytics giúp việc chạy các model nhận diện và phân đoạn đối tượng trở nên cực kỳ dễ dàng chỉ với vài dòng code. Cho dù bạn đang làm việc trên các ứng dụng thời gian thực hay cần các model có độ chính xác cao, Ultralytics luôn có giải pháp cho bạn. Hãy chắc chắn 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à ví dụ.
Hãy theo dõi để đón xem các hướng dẫn và bản cập nhật tiếp theo từ community của Ultralytics!






