Xây dựng các ứng dụng drone hỗ trợ bởi AI với Ultralytics YOLO11
Tìm hiểu cách xây dựng các ứng dụng drone hỗ trợ bởi AI với Ultralytics YOLO11, cho phép 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 chúng dựa trên các quy trình logistics khác nhau. Các cửa hàng cần bổ sung hàng hóa trên kệ, trong khi các đơn hàng trực tuyến phụ thuộc vào việc giao hàng tận nơi. Nhờ những tiến bộ công nghệ, cả hai trải nghiệm mua sắm này đều đang được định hình lại song song.
Ví dụ như một sự thay đổi lớn đang diễn ra trong ngành giao hàng. Các drone tích hợp AI đang thay đổi cách sản phẩm đến tay chúng ta. Những drone thông minh này dự kiến sẽ xử lý khoảng 808 million deliveries trong thập kỷ tới, biến bầu trời thành tuyến đường giao hàng mới nhất cho thương mại hàng ngày.
Drone giao hàng sử dụng trí tuệ nhân tạo (AI) và computer vision, một lĩnh vực con của AI được dùng để phân tích dữ liệu trực quan, nhằm điều hướng và di chuyển xung quanh các chướng ngại vật. Các model computer vision 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 chúng hiểu rõ hơn và tương tác với môi trường xung quanh.

Fig 1. Một drone giao hàng đang vận chuyển kiện hàng đến đích.
Các công ty như Meituan và DJI đã tích hợp computer vision vào các drone của họ. Trên thực tế, việc áp dụng nhanh chóng drone trong các ngành công nghiệp khác nhau đã thúc đẩy AI drone market tăng vọt lên tới 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 về 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 như giao hàng bằng drone. Chúng ta sẽ cùng xem qua một ví dụ minh họa cách các công nghệ này có thể được phát triển và thử nghiệm trước khi sử dụng trong các kịch bản thực tế.
Sử dụng Ultralytics YOLO11 trên drone để phát hiện ngôi nhà#
Một phần quan trọng của drone giao hàng là khả năng phát hiện nhà cửa 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 của nó, chúng ta sẽ huấn luyện một model computer vision có thể nhận diện nhà cửa trong đoạn phim quay từ một drone trên không. Chúng ta sẽ custom-train Ultralytics YOLO11 cho việc này, bao gồm việc fine-tune một model YOLO11 đã được huấn luyện sẵn để nhận diện và phát hiện nhà cửa bằng cách sử dụng các ví dụ được gán nhãn.
Để thực hiện điều đó, 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ó quyền truy cập vào một chiếc drone thực tế, chúng ta vẫn có thể tạo ra các 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à công cụ hoạt họa dựa trên web cho phép người dùng tạo các nội dung tĩnh và động bằng cách sử dụng hình ảnh vệ tinh và 3D của Google Earth. Chúng ta có thể sử dụng nó để tạo các 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 dự án trên Google Earth Studio.
Sau khi đăng nhập, bạn có thể chọn vị trí cho video drone nhân tạo của mình. Sử dụng thanh tìm kiếm ở góc trên cùng bên trái của trang, bạn có thể tìm kiếm các địa điểm. Đối với hướng dẫn này, chúng ta sẽ chọn Canada. Ngoài ra, vì chúng ta sẽ huấn luyện model để phát hiện ngôi nhà, video drone của chúng ta nên có tầm nhìn trên không về các ngôi nhà.

Hình 3. Chọn vị trí bằng Google Earth Studio.
Tiếp theo, chúng ta có thể đặt khung hình thời gian đầu và cuối để nắm bắt chuyển động của cảnh quay drone nhân tạo. Sau khi bạn đã 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 viên kim cương màu xanh dương, như hình dưới đây.

Hình 4. Đặt khung hình đầu tiên bằng các viên kim cương 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 điểm đến của drone. Điều này sẽ giúp chúng ta tạo hiệu ứng di chuyển cho cảnh quay drone. Để làm việc này, hãy trượt thanh (được làm nổi bật bên dưới) sang phải đến một thời điểm cụ thể để tạo hiệu ứng di chuyển cho cảnh quay drone. Một lần nữa, hãy sử dụng các viên kim cương màu xanh dương để đặt điểm cuối cùng.

Hình 5. Đặt khung hình cuối cùng bằng cách di chuyển thanh.
Cuối cùng, bạn có thể lưu dự án này và kết xuất (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. Việc này sẽ cung cấp cho bạn video đầu ra cuối cùng của cảnh quay drone, qua đó tạo thành công cảnh quay video drone nhân tạo.

Hình 6. Kết xuất video đầu ra cuối cùng.
Cách gán nhãn dữ liệu drone?#
Bây giờ chúng ta đã tạo xong video drone nhân tạo, bước tiếp theo là label or annotate các ngôi nhà trong video đó. 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 hình ảnh mã nguồn mở. Bạn có thể cài đặt nó trực tiếp từ terminal bằng trình cài đặt gói pip bằng cách chạy 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’ trên terminal hoặc command prompt. Thao tác này sẽ đưa bạn đến trang hiển thị bên dưới.

Hình 7. Giao diện công cụ LabelImg.
Trong lúc này, chúng ta có thể sử dụng công cụ chuyển đổi video sang ảnh trực tuyến hoặc một công cụ gọi là FFmpeg để chia video thành các frame. FFmpeg là một tập hợp các thư viện và công cụ để 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ể sử dụng lệnh terminal sau để tách từng khung hình của video cảnh quay drone:
ffmpeg -i input_video.mp4 frame_%04d.pngSau khi tách các khung hình từ thước phim của drone, chúng ta có thể bắt đầu gán nhãn các đối tượng (nhà cửa) 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 đối tượng trong từng ảnh. Đảm bảo lưu và kiểm tra lại mọi ảnh đã được gán nhãn. Sau khi chú thích xong các hình ảnh, giờ đây 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ề việc lưu hình ả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ẽ tổ chức lại các hình ảnh và nhãn của mình. 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 kia là "valid". Chia các hình ảnh của bạn vào các 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 biệt dành cho hình ả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ề việc tạo các thư mục hình ả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 Ultralytics Python package. Bạn có thể thực hiện việc này bằng cách chạy câu lệnh “pip install ultralytics” trong terminal của mình. Nếu bạn gặp bất kỳ vấn đề nào về cài đặt, hãy tham khảo troubleshooting guide của chúng tôi để biết các mẹo và thủ thuật giúp bạn giải quyết chúng.
- Bước 2: Sau khi cài đặt thành công gói, hãy tạo một tệp có tên ‘data.yaml’. Đây là tệp cấu hình rất quan trọng để huấn luyện model. Trong tệp data.yaml, hãy bao gồm các thông tin sau: đường dẫn đến tập dữ liệu huấn luyện, đường dẫn đến tập dữ liệu kiểm chứng, số lượng lớp (nc) và danh sách các tên lớp (names), như hình dưới đây.

Hình 10. Ví dụ về tệp data.yaml.
- Bước 3: Khi tệp ‘data.yaml’ đã được cấu hình, bạn có thể bắt đầu huấn luyện model của mình 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à tiến hành huấn luyện theo các cấu hình của bạn.
from ultralytics import YOLO
# Load a Ultralytics 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 kết quả đầu ra tương tự như hì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. Kết quả hiển thị sau khi huấn luyện model.
Chạy dự đoán bằng Ultralytics YOLO11 trên drone#
Mô hình Ultralytics YOLO11 đã huấn luyện giờ đây có thể được sử dụng để đưa ra dự đoán thông qua quá trình gọi là inferencing. Inferencing liên quan đến việc sử dụng một mô hình để phân tích dữ liệu mới, chưa từng thấy dựa trên những gì nó đã học được trong quá trình huấn luyện. Trong trường hợp này, mô hình có thể được sử dụng để tìm và gán nhãn cho các đối tượng cụ thể, như nhà cửa, trong hình ảnh hoặc video bằng cách vẽ các bounding boxes xung quanh chúng.
Để chạy một dự đoán, bạn có thể sử dụng mô hình Ultralytics YOLO11 đã huấn luyện trên một video đầu vào bằng cách sử dụng mã Python sau. Trong ví dụ này, chúng tôi sẽ sử dụng cùng một video drone nhân tạo đã được sử dụng để huấn luyện, nhưng bạn có thể sử dụng bất kỳ tệp 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 mã này, tệp video đầu ra với các dự đoán và khung giới hạn sẽ được lưu lại.

Hình 12. Một khung hình từ tệp video đầu ra.
Tích hợp Ultralytics YOLO11 trên drone cho các ứng dụng đa dạng#
Phát hiện nhà cửa cho các gói hàng giao bằng drone chỉ là một ví dụ về cách áp dụng computer vision và Ultralytics YOLO11. Dưới đây là một số ứng dụng thực tế khác của computer vision, YOLO11 và drone trên không:
-
Giám sát và an ninh: AI drones có thể được sử dụng để giám sát các khu vực lớn theo thời gian thực. Chúng có thể phát hiện sự xâm nhập, theo dõi các hoạt động đáng ngờ và nâng cao an ninh tại biên giới quốc gia cũng như các sự kiện công cộng lớn.
-
Ứng phó thiên tai và tìm kiếm cứu nạn: Được trang bị camera nhiệt và tính năng phát hiện đối tượng, drone có thể giúp xác định vị trí những người sống sót trong các vùng thảm họa. Chúng 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 tích hợp thị giác máy tính có thể được sử dụng để phân tích sức khỏe cây trồng và phát hiện bệnh tật, giúp nông dân tăng năng suất trong khi giảm chi phí.
-
Lập bản đồ và phân tích địa không gian: 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. Chúng cung cấp các đá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.
Các điểm chính cần lưu ý#
Các drone AI được hỗ trợ bởi computer vision đang thay đổi nhiều ngành công nghiệp, từ việc giao hàng đến hỗ trợ trong các trường hợp khẩn cấp và nông nghiệp. Trong hướng dẫn này, chúng ta đã đi qua quy trình tạo một video drone nhân tạo, gán nhãn các đối tượng trong đó, huấn luyện Ultralytics YOLO11 và sử dụng nó để phát hiện nhà cửa.
Áp dụng phát hiện đối tượng vào cảnh quay drone làm cho những chiếc drone này thông minh hơn, cho phép chúng tự động nhận diện và theo dõi các đối tượng trong thời gian thực. Khi công nghệ phát triển, drone điều khiển bằng AI có khả năng sẽ đóng vai trò lớn hơn nữa trong việc giúp việc giao hàng nhanh hơn, cải thiện an ninh và hỗ trợ ứng phó thiên tai.
Tham gia our community và khám phá GitHub repository của chúng tôi để tìm hiểu thêm về vision AI, đồng thời xem qua our licensing options để bắt đầu các dự án computer vision của bạn. Bạn quan tâm đến các đổi mới như AI in manufacturing hoặc computer vision in the automotive industry? Hãy truy cập các trang giải pháp của chúng tôi để khám phá thêm.






