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 blog 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 lĩnh vực object detection và segmentation. 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 một lập trình viên dày dạn kinh nghiệm, bạn sẽ thấy cách Ultralytics hỗ trợ các model khác nhau và kiến trúc đa dạng, bao gồm nhiều phiên bản YOLO 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 các 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ụ tuyệt vời này.
Link to this sectionBắ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 nhận diện và phân đoạn đối tượng. Điều này bao gồm các model YOLO phổ biến, từ YOLOv3 đến phiên bản mới nhất là YOLOv8, 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 thời gian thực, segmentation, và pose estimation.
Để 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 của bạn.
Link to this sectionThiế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 dự án của mình. Hãy bắt đầu với model YOLOv8 làm ví dụ.
Link to this sectionCác tính năng chính của YOLOv8#
YOLOv8 đi kèm với nhiều cải tiến so với các phiên bản tiền nhiệm. Nó được thiết kế để nhanh hơn và chính xác hơn, khiến nó trở nên hoàn hảo 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
Link to this sectionChạy YOLOv8 bằng Python#
Dưới đây là cách bạn có thể bắt đầu với YOLOv8 chỉ với 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. 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.
Link to this sectionNhận diện trực tiếp qua webcam#
Bạn muốn thấy YOLOv8 hoạt động trên luồng webcam trực tiếp? Đây là cách bạn có thể làm:
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 YOLOv8 để nhận diệ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 nhận diện và phân đoạn đối tượng của Ultralytics.
Link to this sectionKhám phá các model khác#
Ultralytics không chỉ dừng lại ở YOLOv8. Họ còn hỗ trợ nhiều model khác như YOLOv5, YOLO-NAS và các model dựa trên Transformer cho nhận diện thời gian thực. Mỗi model đều có thế mạnh và trường hợp sử dụng riêng.
Link to this sectionCá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")Link to this sectionCá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.
Link to this sectionChạ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.
Link to this sectionHiệ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).
Link to this sectionNhữ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 tiếp tục theo dõi để biết thêm các hướng dẫn và cập nhật từ cộng đồng Ultralytics!






