Meet YOLO26: next-gen vision AI.

Link to this sectionCác giải pháp Ultralytics: Tận dụng YOLO26 để Giải quyết các Vấn đề Thực tiễn#

Các giải pháp Ultralytics cung cấp các ứng dụng tiên tiến của các model YOLO, mang đến các giải pháp thực tế như đếm đối tượng, làm mờ, và các hệ thống an ninh, giúp nâng cao hiệu suất và độ chính xác trong nhiều ngành công nghiệp đa dạng. Khám phá sức mạnh của YOLO26 cho các triển khai thực tế và đầy ấn tượng.

Hình thu nhỏ Giải pháp Ultralytics



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Link to this sectionGiải pháp#

Đây là danh sách các giải pháp Ultralytics được tuyển chọn mà bạn có thể sử dụng để tạo ra các dự án thị giác máy tính tuyệt vời.

  • Phân tích: Thực hiện phân tích dữ liệu toàn diện để khám phá các khuôn mẫu và đưa ra quyết định sáng suốt, tận dụng YOLO26 cho các phân tích mô tả, dự đoán và chỉ dẫn.
  • Tính toán Khoảng cách: Tính toán khoảng cách giữa các đối tượng sử dụng tâm bounding box trong YOLO26, rất quan trọng cho phân tích không gian.
  • Heatmaps: Sử dụng bản đồ nhiệt phát hiện để trực quan hóa cường độ dữ liệu trên một ma trận, cung cấp thông tin chi tiết rõ ràng trong các tác vụ thị giác máy tính.
  • Phân đoạn thực thể kết hợp theo dõi đối tượng: Triển khai phân đoạn thực thể và theo dõi đối tượng với YOLO26 để đạt được biên dạng đối tượng chính xác và giám sát liên tục.
  • Suy luận trực tiếp với Streamlit: Tận dụng sức mạnh của YOLO26 để phát hiện đối tượng thời gian thực ngay thông qua trình duyệt web của bạn với giao diện Streamlit thân thiện với người dùng.
  • Làm mờ đối tượng: Áp dụng làm mờ đối tượng sử dụng YOLO26 để bảo vệ quyền riêng tư trong xử lý hình ảnh và video.
  • Đếm đối tượng: Tìm hiểu cách thực hiện đếm đối tượng theo thời gian thực với YOLO26. Tích lũy kinh nghiệm để đếm chính xác các đối tượng trong luồng video trực tiếp.
  • Đếm đối tượng trong vùng: Đếm đối tượng trong các vùng cụ thể sử dụng YOLO26 để phát hiện chính xác trong các khu vực đa dạng.
  • Cắt đối tượng: Làm chủ việc cắt đối tượng với YOLO26 để trích xuất đối tượng chính xác từ hình ảnh và video.
  • Quản lý bãi đỗ xe: Tổ chức và điều hướng dòng xe trong các khu vực đỗ xe với YOLO26, tối ưu hóa việc sử dụng không gian và trải nghiệm người dùng.
  • Quản lý hàng đợi: Triển khai các hệ thống quản lý hàng đợi hiệu quả để giảm thiểu thời gian chờ và cải thiện năng suất sử dụng YOLO26.
  • Hệ thống báo động an ninh: Tạo một hệ thống báo động an ninh với YOLO26 để kích hoạt cảnh báo khi phát hiện các đối tượng mới. Tùy chỉnh hệ thống để phù hợp với nhu cầu cụ thể của bạn.
  • Tìm kiếm tương đồng: Cho phép truy xuất hình ảnh thông minh bằng cách kết hợp nhúng OpenAI CLIP với Meta FAISS, cho phép các truy vấn bằng ngôn ngữ tự nhiên như "người đang cầm túi" hoặc "phương tiện đang di chuyển."
  • Ước tính tốc độ: Ước tính tốc độ đối tượng sử dụng YOLO26 và các kỹ thuật theo dõi đối tượng, rất quan trọng cho các ứng dụng như xe tự lái và giám sát giao thông.
  • Theo dõi đối tượng trong vùng: Tìm hiểu cách theo dõi các đối tượng bên trong các vùng cụ thể của khung hình video sử dụng YOLO26 để giám sát chính xác và hiệu quả.
  • VisionEye View Objects Mapping: Phát triển các hệ thống mô phỏng sự tập trung của mắt người vào các đối tượng cụ thể, nâng cao khả năng phân biệt và ưu tiên chi tiết của máy tính.
  • Giám sát tập luyện: Khám phá cách giám sát các bài tập luyện sử dụng YOLO26. Tìm hiểu cách theo dõi và phân tích nhiều bài tập thể hình khác nhau theo thời gian thực.

Link to this sectionCác đối số của Giải pháp#

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Danh sách các điểm xác định vùng đếm.
show_inboolTrueCờ để kiểm soát việc hiển thị số lượng đếm vào trên luồng video.
show_outboolTrueCờ để kiểm soát việc hiển thị số lượng đếm ra trên luồng video.
analytics_typestr'line'Loại biểu đồ, ví dụ: line, bar, area, hoặc pie.
colormapintcv2.COLORMAP_DEEPGREENBản đồ màu (colormap) để sử dụng cho bản đồ nhiệt.
json_filestrNoneĐường dẫn đến tệp JSON chứa tất cả dữ liệu tọa độ bãi đỗ xe.
up_anglefloat145.0Ngưỡng góc cho tư thế 'lên'.
kptslist[int]'[6, 8, 10]'Danh sách ba chỉ số điểm then chốt được sử dụng để giám sát tập luyện. Các điểm then chốt này tương ứng với các khớp hoặc bộ phận cơ thể, như vai, khuỷu tay và cổ tay, cho các bài tập như hít đất, hít xà, squat và tập bụng.
down_angleint90Ngưỡng góc cho tư thế 'xuống'.
blur_ratiofloat0.5Điều chỉnh tỷ lệ phần trăm cường độ làm mờ, với các giá trị trong phạm vi 0.1 - 1.0.
crop_dirstr'cropped-detections'Tên thư mục để lưu trữ các phát hiện đã cắt.
recordsint5Tổng số lượng phát hiện để kích hoạt email với hệ thống báo động an ninh.
vision_pointtuple[int, int](20, 20)Điểm mà tại đó thị giác sẽ theo dõi các đối tượng và vẽ đường đi sử dụng Giải pháp VisionEye.
sourcestrNoneĐường dẫn đến nguồn đầu vào (video, RTSP, v.v.). Chỉ có thể sử dụng với giao diện dòng lệnh (CLI) của Solutions.
figsizetuple[int, int](12.8, 7.2)Kích thước hình ảnh cho các biểu đồ phân tích như bản đồ nhiệt hoặc đồ thị.
fpsfloat30.0Số khung hình trên giây được sử dụng cho các tính toán tốc độ.
max_histint5Số điểm lịch sử tối đa để theo dõi cho mỗi đối tượng cho các tính toán tốc độ/hướng.
meter_per_pixelfloat0.05Hệ số tỷ lệ được sử dụng để chuyển đổi khoảng cách pixel sang đơn vị thực tế.
max_speedint120Giới hạn tốc độ tối đa trong các lớp phủ trực quan (được sử dụng trong các cảnh báo).
datastr'images'Đường dẫn đến thư mục hình ảnh được sử dụng để tìm kiếm tương đồng.
imgszint640Kích thước hình ảnh đầu vào cho suy luận model.
Các đối số theo dõi (Track args)

Solutions cũng hỗ trợ một số đối số từ track, bao gồm các tham số như conf, line_width, tracker, model, show, verboseclasses.

Đối sốLoạiMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán tracking cần sử dụng. Các tùy chọn tích hợp sẵn: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Thiết lập ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép nhiều đối tượng được theo dõi hơn nhưng có thể bao gồm các kết quả dương tính giả.
ioufloat0.7Thiết lập ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp.
classeslistNoneLọc kết quả theo chỉ số lớp. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các lớp đã chỉ định.
verboseboolTrueKiểm soát việc hiển thị kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị để thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể, hoặc các thiết bị tính toán khác để thực thi model.
Các đối số trực quan hóa (Visualization args)

Bạn có thể sử dụng show_conf, show_labels và các đối số khác đã đề cập để tùy chỉnh việc trực quan hóa.

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu True, hiển thị các hình ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích cho phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc kiểm thử.
line_widthint or NoneNoneChỉ định độ dày đường của bounding box. Nếu None, độ dày đường được tự động điều chỉnh dựa trên kích thước hình ảnh. Cung cấp khả năng tùy chỉnh trực quan để rõ ràng hơn.
show_confboolTrueHiển thị điểm số tin cậy (confidence score) cho mỗi phát hiện cùng với nhãn. Cung cấp thông tin chi tiết về độ chắc chắn của model đối với từng phát hiện.
show_labelsboolTrueHiển thị nhãn cho mỗi phát hiện trong đầu ra hình ảnh. Cung cấp khả năng nhận biết tức thì các đối tượng được phát hiện.

Link to this sectionCách sử dụng SolutionAnnotator#

Tất cả Ultralytics Solutions đều sử dụng lớp riêng biệt SolutionAnnotator, mở rộng từ lớp Annotator chính và có các phương thức sau:

Phương thứcKiểu trả vềMô tả
draw_region()NoneVẽ một vùng sử dụng các điểm, màu sắc và độ dày được chỉ định.
queue_counts_display()NoneHiển thị số lượng hàng đợi trong vùng đã chỉ định.
display_analytics()NoneHiển thị số liệu thống kê tổng thể cho việc quản lý bãi đỗ xe.
estimate_pose_angle()floatTính toán góc giữa ba điểm trong tư thế của đối tượng.
draw_specific_kpts()np.ndarrayVẽ các điểm mấu chốt cụ thể trên hình ảnh.
plot_workout_information()intVẽ một hộp văn bản có nhãn trên hình ảnh.
plot_angle_and_count_and_stage()NoneTrực quan hóa góc, số bước và giai đoạn để theo dõi quá trình tập luyện.
plot_distance_and_line()NoneHiển thị khoảng cách giữa các trọng tâm và kết nối chúng bằng một đường thẳng.
display_objects_labels()NoneChú thích các bounding box với nhãn lớp đối tượng.
sweep_annotator()NoneHiển thị trực quan đường quét dọc và nhãn tùy chọn.
visioneye()NoneÁnh xạ và kết nối các trọng tâm đối tượng với một điểm "mắt" trực quan.
adaptive_label()NoneVẽ nhãn nền hình tròn hoặc hình chữ nhật ở tâm của bounding box.

Link to this sectionLàm việc với SolutionResults#

Ngoại trừ Similarity Search, mỗi lệnh gọi Solution đều trả về một danh sách các đối tượng SolutionResults.

  • Đối với đếm đối tượng, kết quả bao gồm in_count, out_countclasswise_count.
SolutionResults
import cv2

from ultralytics import solutions

im0 = cv2.imread("path/to/img")

region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

counter = solutions.ObjectCounter(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",  # model="yolo26n-obb.pt" for object counting with OBB model.
    # classes=[0, 2],  # count specific classes i.e. person and car with COCO pretrained model.
    # tracker="botsort.yaml"  # Choose trackers i.e "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count)  # display in_counts
print(results.out_count)  # display out_counts
print(results.classwise_count)  # display classwise_count

Đối tượng SolutionResults có các thuộc tính sau:

Thuộc tínhLoạiMô tả
plot_imnp.ndarrayHình ảnh với các lớp phủ trực quan như số lượng, hiệu ứng làm mờ, hoặc các cải tiến dành riêng cho giải pháp.
in_countintTổng số đối tượng được phát hiện đang đi vào vùng xác định trong luồng video.
out_countintTổng số đối tượng được phát hiện đang đi ra khỏi vùng xác định trong luồng video.
classwise_countDict[str, int]Dictionary ghi lại số lượng đối tượng vào/ra theo lớp để phục vụ phân tích nâng cao.
queue_countintSố lượng đối tượng hiện đang nằm trong hàng đợi hoặc khu vực chờ đã xác định trước (phù hợp cho quản lý hàng đợi).
workout_countintTổng số lần lặp lại bài tập đã hoàn thành trong quá trình theo dõi tập luyện.
workout_anglefloatGóc khớp hoặc tư thế được tính toán trong quá trình tập luyện để đánh giá kỹ thuật.
workout_stagestrGiai đoạn tập luyện hoặc pha chuyển động hiện tại (ví dụ: 'lên', 'xuống').
pixels_distancefloatKhoảng cách dựa trên pixel giữa hai đối tượng hoặc điểm, ví dụ: bounding box. (Phù hợp để tính toán khoảng cách).
available_slotsintSố lượng vị trí trống trong một khu vực được giám sát (phù hợp cho quản lý bãi đỗ xe).
filled_slotsintSố lượng vị trí đã có xe trong một khu vực được giám sát. (phù hợp cho quản lý bãi đỗ xe)
email_sentboolCho biết liệu email thông báo hoặc cảnh báo đã được gửi thành công hay chưa (phù hợp cho cảnh báo an ninh).
total_tracksintTổng số lượt theo dõi đối tượng duy nhất được quan sát trong quá trình phân tích video.
region_countsDict[str, int]Số lượng đối tượng trong các vùng hoặc khu vực do người dùng xác định.
speed_dictDict[str, float]Dictionary theo từng lượt theo dõi chứa tốc độ đối tượng được tính toán, hữu ích cho phân tích vận tốc.
total_crop_objectsintTổng số hình ảnh đối tượng đã cắt được tạo bởi giải pháp ObjectCropper.
speedDict[str, float]Dictionary chứa các chỉ số hiệu suất cho việc theo dõi và xử lý giải pháp.

Để biết thêm chi tiết, hãy tham khảo tài liệu về lớp SolutionResults.

Link to this sectionSử dụng Solutions qua CLI#

Thông tin lệnh

Hầu hết các Solutions đều có thể được sử dụng trực tiếp thông qua giao diện dòng lệnh, bao gồm:

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference, Trackzone

Cú pháp

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS là từ khóa bắt buộc.
  • SOLUTION_NAME là một trong các: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking'].
  • ARGS (tùy chọn) là các cặp arg=value tùy chỉnh, ví dụ show_in=True, để ghi đè cài đặt mặc định.
yolo solutions count show=True # for object counting

yolo solutions count source="path/to/video.mp4" # specify video file path

Link to this sectionĐóng góp cho Solutions của chúng tôi#

Chúng tôi hoan nghênh sự đóng góp từ cộng đồng! Nếu bạn đã thành thạo một khía cạnh cụ thể của Ultralytics YOLO mà chưa được đề cập trong các giải pháp của chúng tôi, chúng tôi khuyến khích bạn chia sẻ chuyên môn của mình. Viết hướng dẫn là một cách tuyệt vời để đóng góp lại cho cộng đồng và giúp chúng tôi làm cho tài liệu trở nên toàn diện và thân thiện với người dùng hơn.

Để bắt đầu, vui lòng đọc Hướng dẫn Đóng góp của chúng tôi để biết các quy định về cách mở Pull Request (PR) 🛠️. Chúng tôi rất mong chờ những đóng góp của bạn!

Hãy cùng hợp tác để làm cho hệ sinh thái Ultralytics YOLO trở nên mạnh mẽ và linh hoạt hơn 🙏!

Link to this sectionCâu hỏi thường gặp#

Link to this sectionLàm thế nào để tôi có thể sử dụng Ultralytics YOLO để đếm đối tượng theo thời gian thực?#

Ultralytics YOLO26 có thể được sử dụng để đếm đối tượng theo thời gian thực bằng cách tận dụng các khả năng phát hiện đối tượng tiên tiến của nó. Bạn có thể làm theo hướng dẫn chi tiết của chúng tôi về Đếm đối tượng để thiết lập YOLO26 cho việc phân tích luồng video trực tiếp. Chỉ cần cài đặt YOLO26, tải model của bạn và xử lý các khung hình video để đếm đối tượng một cách linh hoạt.

Link to this sectionLợi ích của việc sử dụng Ultralytics YOLO cho các hệ thống an ninh là gì?#

Ultralytics YOLO26 nâng cao các hệ thống an ninh bằng cách cung cấp khả năng phát hiện đối tượng và cơ chế cảnh báo theo thời gian thực. Bằng cách sử dụng YOLO26, bạn có thể tạo một hệ thống cảnh báo an ninh kích hoạt cảnh báo khi có đối tượng mới được phát hiện trong khu vực giám sát. Tìm hiểu cách thiết lập Hệ thống Cảnh báo An ninh với YOLO26 để giám sát an ninh hiệu quả.

Link to this sectionLàm thế nào Ultralytics YOLO có thể cải thiện các hệ thống quản lý hàng đợi?#

Ultralytics YOLO26 có thể cải thiện đáng kể các hệ thống quản lý hàng đợi bằng cách đếm và theo dõi chính xác số người trong hàng đợi, từ đó giúp giảm thời gian chờ và tối ưu hóa hiệu quả dịch vụ. Hãy làm theo hướng dẫn chi tiết của chúng tôi về Quản lý Hàng đợi để tìm hiểu cách triển khai YOLO26 cho việc giám sát và phân tích hàng đợi hiệu quả.

Link to this sectionUltralytics YOLO có thể được sử dụng để theo dõi quá trình tập luyện không?#

Có, Ultralytics YOLO26 có thể được sử dụng hiệu quả để theo dõi quá trình tập luyện bằng cách theo dõi và phân tích các bài tập thể dục theo thời gian thực. Điều này cho phép đánh giá chính xác kỹ thuật và hiệu suất tập luyện. Hãy khám phá hướng dẫn của chúng tôi về Theo dõi Tập luyện để tìm hiểu cách thiết lập một hệ thống theo dõi tập luyện bằng AI sử dụng YOLO26.

Link to this sectionUltralytics YOLO giúp tạo bản đồ nhiệt (heatmap) cho trực quan hóa dữ liệu như thế nào?#

Ultralytics YOLO26 có thể tạo ra các bản đồ nhiệt để trực quan hóa mật độ dữ liệu trên một khu vực nhất định, làm nổi bật các vùng hoạt động cao hoặc khu vực quan tâm. Tính năng này đặc biệt hữu ích trong việc tìm hiểu các mô hình và xu hướng trong nhiều tác vụ thị giác máy tính khác nhau. Tìm hiểu thêm về việc tạo và sử dụng Bản đồ nhiệt với YOLO26 để phân tích và trực quan hóa dữ liệu toàn diện.

Bình luận