Xây dựng ứng dụng drone ứng dụng AI với Ultralytics YOLO11
Tìm hiểu cách xây dựng ứng dụng drone ứng dụng AI với Ultralytics YOLO11, cho phép phát hiện đối tượng theo thời gian thực và thực hiện các tác vụ thị giác máy tính bằng 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 hai hình thức này dựa vào các quy trình logistics khác nhau. Cửa hàng cần được bổ sung hàng lên kệ, còn đơn hàng trực tuyến phụ thuộc vào việc giao hàng tận nhà. Nhờ những tiến bộ công nghệ, cả hai trải nghiệm mua sắm đang được chuyển đổi song song.
Ví dụ, hoạt động giao hàng đang có sự chuyển đổi lớn. Drone ứng dụng AI đang thay đổi cách sản phẩm được giao đến nhà chúng ta. Dự kiến những drone thông minh này 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 thườ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 nhánh của AI dùng để phân tích dữ liệu hình ảnh, nhằm điều hướng và 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 đối tượng theo thời gian thực, cho phép drone hiểu và tương tác tốt hơn với môi trường xung quanh.

Hình 1. 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 ứng dụng drone nhanh chóng trong nhiều ngành đã tạo đà để thị trường drone AI tăng vọt lên 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 sử dụng các model thị giác máy tính như Ultralytics YOLO11 trong những ứng dụng dùng 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 đưa vào sử dụng trong các tình huống thực tế.
Sử dụng Ultralytics YOLO11 trên drone để phát hiện nhà#
Một khả năng thiết yếu của drone giao hàng là phát hiện nhà khi điều hướng. Để tái tạo khả năng này và tìm 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 nhà trong cảnh quay do drone bay trên không ghi lại. Chúng ta sẽ huấn luyện tùy chỉnh Ultralytics YOLO11 cho tác vụ này bằng cách tinh chỉnh một model YOLO11 được huấn luyện trước để nhận diện và phát hiện nhà từ các ví dụ đã gán nhãn.
Để thực hiện việc này, chúng ta 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ật, chúng ta vẫn có thể tạo cảnh quay trên không chân thực. Cùng tìm hiểu cách thực hiện.
Tạo cảnh quay drone giả lập bằng Google Earth Studio#
Google Earth Studio là công cụ hoạt hình trên web cho phép người dùng tạo nội dung tĩnh và hoạt hình 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 dự án như minh họa bên dưới.
Bạn cần có tài khoản Google để đăng nhập.

Hình 2. Tạo dự án trên Google Earth Studio.
Sau khi đăng nhập, bạn có thể chọn địa điểm cho video drone giả lập. Sử dụng thanh tìm kiếm ở góc trên bên trái trang để tìm địa điểm. Trong hướng dẫn này, chúng ta sẽ chọn Canada. Ngoài ra, vì sẽ huấn luyện model để phát hiện nhà, video drone cần có góc nhìn trên không của 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ể đặt khung hình đầu tiên và cuối cùng để ghi lại chuyển động của cảnh quay drone giả lập. Sau khi chọn vị trí bắt đầu cho cảnh quay drone, hãy đặt khung hình đầu tiên bằng các hình thoi màu xanh lam như minh họa bên dưới.

Hình 4. Đặt khung hình đầu tiên bằng các hình thoi màu xanh lam.
Tiếp theo, chúng ta có thể chọn khung hình cuối cùng để xác định điểm đến của drone. Thao tá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 trượt thanh (được tô sáng bên dưới) sang phải đến một thời điểm cụ thể để tạo hiệu ứng chuyển động cho cảnh quay drone. Một lần nữa, hãy dùng các hình thoi màu xanh lam để đặt điểm cuối.

Hình 5. Đặt 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 dự án và kết xuất bằng cách nhấp vào nút “Render” màu đỏ ở góc trên bên phải trang. Thao tác này sẽ tạo video đầu ra cuối cùng của cảnh quay drone, hoàn tất việc tạo video drone giả lập.

Hình 6. Kết xuất video đầu ra cuối cùng.
Cách gán nhãn dữ liệu drone?#
Sau khi tạo video drone giả lập, bước tiếp theo là gán nhãn hoặc chú thích các ngôi nhà trong video. Chúng ta cũng cần tách các khung hình riêng lẻ của video.
Để bắt đầu, chúng ta sẽ cài đặt LabelImg. LabelImg là công cụ gán nhãn ảnh mã nguồn mở. Bạn có thể cài đặt công cụ này trực tiếp từ terminal bằng trình cài đặt package pip với 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 được hiển thị bên dưới.

Hình 7. Giao diện công cụ LabelImg.
Trong lúc đó, chúng ta có thể dùng công cụ chuyển đổi video sang ảnh trực tuyến hoặc một công cụ có tên FFmpeg để tách video thành các khung hình. FFmpeg là bộ 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à siêu dữ liệu liên quan.
Bạn có thể dùng lệnh terminal sau để tách từng khung hình của video drone:
ffmpeg -i input_video.mp4 frame_%04d.pngSau khi tách các khung hình của video drone, chúng ta có thể bắt đầu gán nhãn đối tượng (nhà) trong đó. Bằng cách mở thư mục ảnh qua công cụ LabelImg, chúng ta có thể gán nhãn đối tượng trong từng ảnh. Hãy nhớ 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.
Workflow 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. Trước tiên, hãy tạo hai thư mục: một thư mục tên là "train" và thư mục còn lại tên là "valid". Chia ảnh vào hai thư mục này. Trong mỗi thư mục, hãy tạo các thư mục con riêng cho ảnh và các tệp nhãn tương ứng (định dạng văn bản), 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 sự cố 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 mẹo và cách giải quyết.
- Bước 2: Sau khi cài đặt package thành công, hãy tạo một tệp có tên ‘data.yaml’. Đây là tệp cấu hình thiết yếu cho quá trình huấn luyện model. Trong tệp 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 xác thực, số lớp (nc) và danh sách tên lớp (names), như minh họa bên dưới.

Hình 10. Ví dụ về tệp data.yaml.
- Bước 3: Sau khi cấu hình tệp ‘data.yaml’, bạn có thể bắt đầu huấn luyện model bằng đoạn mã Python sau. Đoạn mã này tải model Ultralytics YOLO11 đã được huấn luyện trước và huấn luyện model theo cấu hình của bạn.
from ultralytics import YOLO
# Tải một model YOLO11
model = YOLO("yolo11n.pt") # chọn model của bạn, ví dụ: YOLO11 nano
# Huấn luyện model bằng dữ liệu và cài đặt của bạn
model.train(data="data.yaml", epochs=100, imgsz=640)- Bước 4: Sau khi hoàn tất quá trình huấn luyện, bạn sẽ thấy kết quả đầu ra tương tự như 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ùng drone.

Hình 11. Kết quả đầu ra hiển thị sau khi huấn luyện model.
Chạy dự đoán bằng Ultralytics YOLO11 trên drone#
Giờ đây, bạn có thể sử dụng model Ultralytics YOLO11 đã huấn luyện để tạo dự đoán thông qua quy trình gọi là inference. Inference là quá trình 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 dùng để tìm và gán nhãn các đối tượng cụ thể, chẳng hạn như nhà, trong ảnh hoặc video bằng cách vẽ bounding box xung quanh các đối tượng đó.
Để chạy dự đoán, bạn có thể dùng model Ultralytics YOLO11 đã huấn luyện trên video đầu vào bằng đoạn mã Python sau. Trong ví dụ này, chúng ta sẽ dùng chính video drone giả lập đã sử dụng khi huấn luyện, nhưng bạn có thể chọn dùng bất kỳ tệp video nào khác.
# Nhập thư viện
from ultralytics import YOLO
# Tải model YOLO
model = YOLO("best.pt") # Chọn model đã được huấn luyện tùy chỉnh
# Dự đoán kết quả từ model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)Sau khi chạy đoạn mã này, tệp video đầu ra có các dự đoán và bounding box sẽ được lưu.

Hình 12. Một khung hình từ tệp 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 nhà để giao hàng bằng drone chỉ là một ví dụ về cách ứng 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 bay trên không:
-
Giám sát và an ninh: Drone AI có thể được dùng để giám sát các khu vực rộng lớn theo thời gian thực. Drone có thể phát hiện hành vi xâm nhập, theo dõi 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, tìm kiếm và cứu nạn: Được trang bị camera nhiệt và khả năng phát hiện đối tượng, drone có thể giúp xác định vị trí người sống sót trong vùng thảm họa. Drone cũng có thể đánh giá thiệt hại và vận chuyển 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 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 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. Drone cung cấp đánh giá địa hình nhanh hơn và chính xác hơn các phương pháp truyền thống.
Điểm chính cần ghi nhớ#
Drone AI ứng dụng thị giác máy tính đang làm thay đổi nhiều ngành công nghiệp, từ giao hàng đến hỗ trợ trong tình huống khẩn cấp và nông nghiệp. Trong hướng dẫn này, chúng ta đã tìm hiểu quy trình tạo video drone giả lập, gán nhãn các đối tượng trong video, huấn luyện Ultralytics YOLO11 và sử dụng model để phát hiện nhà.
Áp dụng tính năng phát hiện đối tượng vào cảnh quay từ drone giúp drone thông minh hơn, cho phép drone tự động nhận diện và theo dõi đối tượng theo thời gian thực. Khi công nghệ phát triển, drone ứng dụng AI có thể sẽ đóng vai trò lớn hơn nữa trong việc giao hàng nhanh hơn, tăng cường 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á kho GitHub của chúng tôi để tìm hiểu thêm về AI thị giác, đồ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. 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ô? Truy cập các trang giải pháp của chúng tôi để khám phá thêm.










