Xây dựng ứng dụng drone tích hợp AI với Ultralytics YOLO11
Tìm hiểu cách xây dựng ứng dụng drone tích hợp AI với Ultralytics YOLO11, hỗ trợ phát hiện đối tượng theo thời gian thực và các tác vụ computer vision trên drone.

Mua sắm tại cửa hàng và mua sắm trực tuyến có vẻ giống nhau, nhưng dựa trên các hệ thống logistics khác nhau. Các cửa hàng cần được bổ sung hàng lên kệ, trong khi đơn hàng trực tuyến phụ thuộc vào việc giao hàng đến tận nhà. Nhờ những tiến bộ công nghệ, cả hai trải nghiệm mua sắm đang được định hình lại song song.
Ví dụ, một thay đổi lớn đang diễn ra trong hoạt động giao hàng. Drone tích hợp AI đang thay đổi cách sản phẩm được giao đến nhà chúng ta. Những drone thông minh này được dự kiến sẽ thực hiện khoảng 808 triệu lượt giao hàng trong thập kỷ tới, biến bầu trời thành tuyến giao hàng mới nhất cho hoạt động thương mại hằng ngày.
Drone giao hàng sử dụng trí tuệ nhân tạo (AI) và thị giác máy tính, một phân ngành của AI được dùng để phân tích dữ liệu hình ảnh, nhằm điều hướng và di chuyển tránh chướng ngại vật. Các model thị giác máy tính như Ultralytics YOLO11 có thể giúp drone phát hiện và theo dõi vật thể theo thời gian thực, cho phép chúng hiểu và tương tác tốt hơn với môi trường xung quanh.

Hình 1. Một drone giao hàng đang đưa một kiện hàng đến đích.
Các công ty như Meituan và DJI đã tích hợp thị giác máy tính vào drone của họ. Trên thực tế, việc áp dụng nhanh chóng drone trong nhiều ngành đã đưa thị trường drone AI hướng tới quy mô 206,9 tỷ USD vào năm 2031.
Trong bài viết này, chúng ta sẽ tìm hiểu kỹ hơn cách các model thị giác máy tính như Ultralytics YOLO11 có thể được sử dụng trong các ứng dụng dựa trên drone, chẳng hạn như giao hàng bằng drone. Chúng ta sẽ thực hiện một ví dụ minh họa cách phát triển và kiểm thử các công nghệ này trước khi sử dụng trong những tình huống thực tế.
Sử dụng Ultralytics YOLO11 trên drone để phát hiện ngôi nhà#
Một khả năng quan trọng của drone giao hàng là phát hiện ngôi nhà trong quá trình di chuyển. Để tái tạo khả năng này và hiểu cách thức hoạt động, chúng ta sẽ huấn luyện một model thị giác máy tính có thể nhận diện ngôi nhà trong cảnh quay do drone trên không ghi lại. Chúng ta sẽ custom-train Ultralytics YOLO11 cho mục đích này, bao gồm fine-tune một model YOLO11 đã được huấn luyện trước để nhận dạng và phát hiện ngôi nhà bằng các ví dụ đã gán nhãn.
Để thực hiện việc này, chúng ta sẽ cần dữ liệu video chất lượng cao từ drone. Điều thú vị là ngay cả khi không có drone thực tế, chúng ta vẫn có thể tạo ra cảnh quay trên không chân thực. Hãy cùng xem cách thực hiện.
Tạo cảnh quay drone nhân tạo bằng Google Earth Studio#
Google Earth Studio là một công cụ animation trên nền web, cho phép người dùng tạo nội dung tĩnh và animation bằng hình ảnh vệ tinh và hình ảnh 3D của Google Earth. Chúng ta có thể sử dụng công cụ này để tạo cảnh quay trên không chân thực.
Bước đầu tiên là mở Google Earth Studio và tạo một project như minh họa bên dưới.
Bạn sẽ cần một tài khoản Google để đăng nhập.

Hình 2. Tạo project trên Google Earth Studio.
Sau khi đăng nhập, bạn có thể chọn địa điểm cho video drone nhân tạo. Sử dụng thanh tìm kiếm ở góc trên bên trái của trang, bạn có thể tìm kiếm các địa điểm. Trong tutorial này, chúng ta sẽ chọn Canada. Ngoài ra, vì chúng ta sẽ huấn luyện một model để phát hiện ngôi nhà, video drone nên có góc nhìn từ trên không về các ngôi nhà.

Hình 3. Chọn địa điểm bằng Google Earth Studio.
Tiếp theo, chúng ta có thể thiết lập khung hình thời gian đầu tiên và cuối cùng để ghi lại chuyển động của cảnh quay drone nhân tạo. Sau khi chọn địa điểm bắt đầu cho cảnh quay drone, hãy thiết lập khung hình đầu tiên bằng các hình thoi màu xanh dương như minh họa bên dưới.

Hình 4. Thiết lập khung hình đầu tiên bằng các hình thoi màu xanh dương.
Tiếp theo, chúng ta có thể chọn khung hình cuối cùng để xác định đích đến của drone. Việc này sẽ giúp tạo hiệu ứng chuyển động cho cảnh quay drone. Để thực hiện, hãy kéo thanh trượt (được đánh dấu bên dưới) sang phải đến một thời điểm cụ thể nhằm tạo hiệu ứng chuyển động cho cảnh quay drone. Một lần nữa, hãy sử dụng các hình thoi màu xanh dương để thiết lập điểm cuối.

Hình 5. Thiết lập khung hình cuối cùng bằng cách di chuyển thanh trượt.
Cuối cùng, bạn có thể lưu project này và render bằng cách nhấp vào nút “Render” màu đỏ ở góc trên bên phải của trang. Thao tác này sẽ cung cấp video đầu ra cuối cùng của cảnh quay drone, hoàn tất việc tạo cảnh quay video drone nhân tạo.

Hình 6. Render video đầu ra cuối cùng.
Cách gán nhãn dữ liệu drone?#
Sau khi đã tạo cảnh quay video drone nhân tạo, bước tiếp theo là gán nhãn hoặc chú thích các ngôi nhà trong đó. Chúng ta cũng cần tách các frame riêng lẻ của video.
Để bắt đầu, chúng ta sẽ cài đặt LabelImg. LabelImg là một công cụ gán nhãn ảnh mã nguồn mở. Bạn có thể cài đặt trực tiếp từ terminal bằng trình cài đặt package pip, thông qua lệnh sau: “pip install labelImg”.
Sau khi cài đặt, bạn có thể chạy công cụ bằng lệnh ‘labelImg’ trong terminal hoặc command prompt. Thao tác này sẽ đưa bạn đến trang như minh họa bên dưới.

Hình 7. Giao diện công cụ LabelImg.
Trong khi đó, chúng ta có thể sử dụng một công cụ chuyển đổi video sang ảnh trực tuyến hoặc công cụ có tên FFmpeg để tách video thành các frame. FFmpeg là một tập hợp các thư viện và công cụ dùng để xử lý nội dung đa phương tiện như âm thanh, video, phụ đề và metadata liên quan.
Bạn có thể sử dụng lệnh terminal sau để tách từng frame của video cảnh quay drone:
ffmpeg -i input_video.mp4 frame_%04d.pngSau khi tách các frame của cảnh quay drone, chúng ta có thể bắt đầu gán nhãn các vật thể (ngôi nhà) trong đó. Bằng cách điều hướng đến thư mục ảnh thông qua công cụ LabelImg, chúng ta có thể gán nhãn các vật thể trong từng ảnh. Hãy đảm bảo lưu và xác minh mọi ảnh đã gán nhãn. Sau khi chú thích ảnh, chúng ta có thể chuyển sang huấn luyện Ultralytics YOLO11 bằng dữ liệu này.

Hình 8. Ví dụ về cách lưu ảnh đã chú thích.
Quy trình huấn luyện model Ultralytics YOLO11#
Trước khi bắt đầu huấn luyện Ultralytics YOLO11, chúng ta sẽ sắp xếp ảnh và nhãn. Bắt đầu bằng cách tạo hai thư mục: một thư mục có tên "train" và thư mục còn lại có tên "valid". Chia ảnh vào hai thư mục này. Bên trong mỗi thư mục, hãy tạo các thư mục con riêng cho ảnh và các file nhãn tương ứng (định dạng text), như minh họa bên dưới.

Hình 9. Ví dụ về cách tạo thư mục ảnh và nhãn.
Sau đó, chúng ta có thể bắt đầu huấn luyện model Ultralytics YOLO11 như sau:
- Bước 1: Cài đặt package Ultralytics Python. Bạn có thể thực hiện việc này bằng cách chạy lệnh “pip install ultralytics” trong terminal. Nếu gặp vấn đề khi cài đặt, hãy xem hướng dẫn khắc phục sự cố của chúng tôi để biết các mẹo giúp giải quyết vấn đề.
- Bước 2: Sau khi cài đặt package thành công, hãy tạo một file có tên ‘data.yaml’. Đây là file cấu hình rất quan trọng đối với quá trình huấn luyện model. Trong file data.yaml, hãy thêm các thông tin sau: đường dẫn đến dataset huấn luyện, đường dẫn đến dataset validation, số lượng class (nc) và danh sách tên class (names), như minh họa bên dưới.

Hình 10. Ví dụ về file data.yaml.
- Bước 3: Sau khi cấu hình file ‘data.yaml’, bạn có thể bắt đầu huấn luyện model bằng đoạn code Python sau. Đoạn code này tải model Ultralytics YOLO11 đã được huấn luyện trước và huấn luyện model theo các cấu hình của bạn.
from ultralytics import YOLO
# Load a YOLO11 model
model = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano
# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)- Bước 4: Sau khi quá trình huấn luyện hoàn tất, bạn sẽ thấy đầu ra tương tự như minh họa bên dưới. Điều này có nghĩa là bạn đã huấn luyện thành công model Ultralytics YOLO11 cho các ứng dụng dựa trên drone.

Hình 11. Đầu ra hiển thị sau khi huấn luyện model.
Chạy dự đoán bằng Ultralytics YOLO11 trên drone#
Model Ultralytics YOLO11 đã huấn luyện giờ đây có thể được sử dụng để đưa ra dự đoán thông qua quy trình gọi là inferencing. Inferencing bao gồm việc sử dụng model để phân tích dữ liệu mới, chưa từng thấy, dựa trên những gì model đã học trong quá trình huấn luyện. Trong trường hợp này, model có thể được sử dụng để tìm và gán nhãn các vật thể cụ thể, chẳng hạn như ngôi nhà, trong ảnh hoặc video bằng cách vẽ các bounding box xung quanh chúng.
Để chạy dự đoán, bạn có thể sử dụng model Ultralytics YOLO11 đã huấn luyện trên một video đầu vào bằng đoạn code Python sau. Trong ví dụ này, chúng ta sẽ sử dụng cùng video drone nhân tạo đã dùng để huấn luyện, nhưng bạn có thể sử dụng bất kỳ file video nào khác nếu muốn.
# Import library
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("best.pt") # Choose your custom-trained model
# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)Sau khi chạy đoạn code này, file video đầu ra chứa các dự đoán và bounding box sẽ được lưu lại.

Hình 12. Một frame từ file video đầu ra.
Tích hợp Ultralytics YOLO11 trên drone cho nhiều ứng dụng khác nhau#
Phát hiện ngôi nhà để giao các kiện hàng bằng drone chỉ là một ví dụ về cách áp dụng thị giác máy tính và Ultralytics YOLO11. Dưới đây là một số ứng dụng thực tế khác của thị giác máy tính, YOLO11 và drone trên không:
-
Giám sát và an ninh: Drone AI có thể được sử dụng để giám sát các khu vực rộng lớn theo thời gian thực. Chúng có thể phát hiện hành vi xâm nhập, theo dõi các hoạt động đáng ngờ và tăng cường an ninh tại biên giới quốc gia cũng như các sự kiện công cộng quy mô lớn.
-
Ứng phó thảm họa và tìm kiếm cứu nạn: Được trang bị camera nhiệt và khả năng phát hiện vật thể, drone có thể hỗ trợ xác định vị trí người sống sót trong các khu vực thảm họa. Chúng cũng có thể đánh giá thiệt hại và giao vật tư khẩn cấp.
-
Nông nghiệp và canh tác chính xác: Drone được tích hợp thị giác máy tính có thể được sử dụng để phân tích tình trạng cây trồng và phát hiện bệnh, giúp nông dân tăng năng suất đồng thời giảm chi phí.
-
Lập bản đồ và phân tích không gian địa lý: Bằng cách thu thập các bản đồ 3D độ phân giải cao, drone AI có thể hỗ trợ quy hoạch đô thị và khảo sát đất đai. Chúng cung cấp đánh giá địa hình nhanh hơn và chính xác hơn so với các phương pháp truyền thống.
Những điểm chính#
Drone AI được hỗ trợ bởi thị giác máy tính đang thay đổi nhiều ngành, từ giao kiện hàng đến hỗ trợ ứng phó khẩn cấp và canh tác. Trong hướng dẫn này, chúng ta đã tìm hiểu cách tạo video drone nhân tạo, gán nhãn các vật thể trong video, huấn luyện Ultralytics YOLO11 và sử dụng model để phát hiện ngôi nhà.
Việc áp dụng tính năng phát hiện vật thể vào cảnh quay drone giúp những drone này trở nên thông minh hơn, cho phép chúng tự động nhận diện và theo dõi vật thể theo thời gian thực. Khi công nghệ tiếp tục phát triển, drone điều khiển bằng AI có khả năng sẽ đóng vai trò lớn hơn trong việc giúp giao hàng nhanh hơn, cải thiện an ninh và hỗ trợ ứng phó thảm họa.
Tham gia cộng đồng của chúng tôi và khám phá repository GitHub của chúng tôi để tìm hiểu thêm về vision AI, đồng thời xem các tùy chọn cấp phép để bắt đầu các dự án thị giác máy tính của bạn. Bạn quan tâm đến những đổi mới như AI trong sản xuất hoặc thị giác máy tính trong ngành ô tô? Hãy truy cập các trang giải pháp của chúng tôi để khám phá thêm.









