【手把手教程】大疆Tello无人机+YOLOv5目标检测实战 | 附完整代码与演示视频

大疆osdk yolo部署 本篇文章主要是利用darknet部署yolo,具体我使用的是yolov3-tiny,好像yolov4也可以部署,但是我没有尝试,等着后期尝试一下! 在开始部署之前,需要先成功部署大疆osdk_ros,入过不知道如何部署,请参考我这篇文章! 大疆osdk开发——部署(Ubuntu ROS)dji_vehicle_node.launch 大疆osdk开发——部署(Ubuntu ROS)dji_sdk_node.launch 按以上两篇文章成功部署Ubuntu ROS,并且dji_sdk_node.launch成 阅读详情
AI摘要

该博客围绕无人机YOLO项目展开,介绍了环境配置和代码使用的注意事项,以及提供了视频demo。环境配置方面,robomaster适配Python 3.6.6 - 3.8.9,YOLOv5适配3.8.0以上;代码使用时要连接无人机WIFI、关闭防火墙并替换模型路径。

在这里插入图片描述

项目gitee仓库完整代码:https://gitee.com/wsy-yjys/yolov5_-tello_-demo
B站视频demo:https://www.bilibili.com/video/BV1ZvytYZEqM/

一、环境配置注意事项

  1. robomaster适配python版本:3.6.6-3.8.9之间
    在这里插入图片描述
  2. YOLOv5适配python版本:3.8.0以上
    在这里插入图片描述
    因此,项目环境python版本最好在3.8.0-3.8.9之间

二、代码使用注意事项

  1. 运行前,已连接Tello无人机的WIFI,并确保公用网络的防火墙已关闭!
  2. self.model = 替换为自己的模型路径!

三、视频demo核心代码如下

import threading
import time
import cv2
import torch
import robomaster
from robomaster import robot
from robomaster.battery import TelloBattery as Battery
from queue import Queue


"""注意事项:
1. 运行前,已连接Tello无人机的WIFI,并确保公用网络的防火墙已关闭!
2. self.model = 替换为自己的模型路径!
"""

# For “NotImplementedError: cannot instantiate 'PosixPath' on your system" bug
import pathlib
temp = pathlib.PosixPath
pathlib.PosixPath = pathlib.WindowsPath
robomaster.config.LOCAL_IP_STR = "192.168.10.2"


class Tello():
    def __init__(self,):
        """Initializes the YOLOv5 Detections class with image info, predictions, filenames, timing and normalization."""
        super().__init__()
        # 模型初始化
        self.model = torch.hub.load(r'./', 'custom', path=r"runs/train/exp4/weights/best.pt", source="local")  # 替换为自己的模型路径)

        # 无人机初始化
        self.drone = robot.Drone()
        self.drone.initialize()
        # 电池初始化
        self.battery = Battery(self.drone)
        # 相机初始化
        self.camera = self.drone.camera
        self.camera.stop_video_stream()
        self.camera.start_video_stream(display=False)
        self.camera.set_fps("high")
        self.camera.set_resolution("high")
        self.camera.set_bitrate(6)

    def infer(self):
        # 使用YOLOv5模型进行推理tello回传的视频流
        img = self.camera.read_cv2_image(strategy="newest")
        fourcc = cv2.VideoWriter_fourcc(*'mp4v')  # 指定视频编码器
        video_writer = cv2.VideoWriter('output.mp4', fourcc, 30.0, (img.shape[1], img.shape[0]))  # 创建视频写入对象
        while True:
            img = self.camera.read_cv2_image(strategy="newest")    #直接读取最新帧,采用="pipeline"会在第二次启动时卡死
            results = self.model(img)     # Inference
            # results.print()
            image = results.show_cv()
            cv2.imshow('results', image)
            # 写入当前帧到视频文件
            video_writer.write(image)
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break
            if not q.empty() and q.get()["close"]:
                break
        video_writer.release()
        cv2.destroyAllWindows()
        print("infer end")

    def get_verson(self):
        # 获取飞机版本信息
        print("Drone sdk version: {0}".format(self.drone.get_sdk_version()))
        # 获取飞机SN信息
        print("drone sn: {0}".format(self.drone.get_sn()))

    def get_battery(self):
        # 获取飞机电量信息
        print("Battery: {}%".format(self.battery.get_battery()))

    def close(self):
        # 结束:释放资源
        self.camera.stop_video_stream()
        self.drone.close()


if __name__ == "__main__":
    q = Queue(100)
    # 初始化
    tello = Tello()
    tello.get_battery()

    # YOLO推理线程
    recv_thread = threading.Thread(target=tello.infer)
    recv_thread.daemon = True
    recv_thread.start()

    # 主线程:用于实现预定动作
    time.sleep(6)
    q.put({"close":True})

    # 结束
    time.sleep(1)      # 延迟1s,确保两个线程都正常结束
    tello.close()

注意:这只是核心代码,项目完整代码请见gitee仓库

【模式识别&目标检测】——基于机器视觉的无人机避障&RP-YOLOv3实例 YOLOv3由1x1的卷积层和3x3的卷积层交替连接构成基础网络darknet-53。在每个卷积层之后均连接一个BN层(Batch Normalization)和一个激励函数Leaky Relu——BN层可加速网络收敛、避免训练模型过拟合。YOLOv3检测模型没有池化层和全连接层,网络通过调整卷积核的步长进行降维。将输入数据通过回归分析得到目标位置和目标所属类别。YOLOv3沿用YOLO思想,将输入图像分成若干网格。 阅读详情

相关推荐

YOLOv8/v9无人机航拍目标检测新手实战指南:从环境搭建到Tello飞行集成(附完整代码)

摘要:本文针对无人机航拍目标检测的新手需求,以VisDrone公开数据集和DJI Tello消费级无人机为基础,提供全流程实操方案,解决航拍场景中小目标漏检、运动模糊、实时性不足三大核心痛点。内容涵盖5分钟环境搭建、摄像头模拟航拍检测、小目标增强/运动模糊补偿优化、VisDrone数据集训练、Tello无人机实时集成、边缘设备部署,所有代码均附详细注释与运行结果。实验室测试显示:基础模型小目标(≤32像素)识别率65%,经增强后提升至80%;Tello航拍时yolov8s模型帧率达5-6FPS。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1203

基于yolov5+大疆教育无人机Tello TT实现目标识别检测+追踪测距完整源码+数据集训练好的模型+操作说明

基于yolov5+大疆教育无人机Tello TT实现目标识别检测+追踪测距完整源码+数据集训练好的模型+操作说明,大疆教育无人机Tello TT是专为教育设计的无人机,它内置了摄像头和其他传感器,允许开发者通过编程控制其飞行和感知环境。在这个项目中,Tello TT将配合yolov5模型执行目标检测和追踪任务,提供实时的视觉反馈。 该资源包包含了一套完整的解决方案,用于在大疆教育无人机Tello TT上实现基于yolov5的目标识别、检测和追踪功能,同时还能进行测距。这是一个非常适合K12阶段学生学习和实践AI技术的项目,它将深度学习理论与实际应用场景相结合,提升学生的动手能力和创新能力。 yolov5是一种流行的深度学习模型,全称为"you only look once version 5",用于实时的目标检测任务。它的核心优势在于速度快、准确度高,适合于实时应用,比如无人机上的目标追踪。yolov5通过神经网络预测图像中的边界框和类别,使得无人机能够识别出特定的目标,如描述中的"旗"和"圈"。 数据集是训练深度学习模型的关键,这个资源包包含了用于训练yolov5模型的图像数据

新手也能飞!YOLOv8/v9无人机航拍目标检测实战:从环境搭建到Tello实时识别(附完整代码+避坑手册)

摘要:Tello无人机+YOLO目标检测新手实战指南 本文针对初学者,提供了一套完整的Tello无人机结合YOLOv8/v9实现实时目标检测的解决方案。首先分析了Tello无人机和YOLO轻量级模型的组合优势,包括成本低、SDK简单、易操作等特点。随后详细介绍了环境搭建步骤,强调Python版本、库版本选择等关键注意事项。在数据准备环节,提供了航拍数据采集技巧、标注方法和数据增强方案,帮助新手快速获取有效训练数据。全文以实战为导向,包含可复现的代码示例和常见问题解决方案,即使没有无人机开发经验,也能在3小时

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1142

基于yolov5+大疆教育无人机Tello TT实现目标识别检测+追踪测距完整源码+数据集+训练好的模型+操作说明文档.7z

基于yolov5+大疆教育无人机Tello TT实现目标识别检测+追踪测距完整源码+数据集+训练好的模型+操作说明文档.7z 数据集目标是旗、圈识别 模型已经训练调优 请参考项目说明中的步骤来操作。 【备注】主要针对正在做毕设的同学和需要项目实战的深度学习cv图像识别模式识别方向学习者。 也可作为课程设计、期末大作业。包含:项目源码、训练好的模型、项目操作说明等,该项目可直接作为毕设使用。 也可以用来学习、参考、借鉴。如果基础不错,在此代码上做修改,训练其他模型。 【特别强调】 1、csdn上资源保证是完整最新,会不定期更新优化; 2、请用自己的账号在csdn官网下载,若通过第三方代下,博主不对您下载的资源作任何保证,且不提供任何形式的技术支持和答疑!!!

YOLOv5与Tello TT无人机目标识别追踪测距实战资源解析

目标检测是计算机视觉的核心任务之一,YOLOv5作为轻量级实时检测模型,凭借其高效性和易用性,在边缘设备与无人机场景中备受青睐。实现无人机目标追踪与测距,不仅需要训练出精准的检测模型,还需将检测框坐标转化为飞控指令,PID控制算法在这一过程中扮演着关键角色。本文从目标检测基础原理出发,结合YOLOv5与DJI Tello TT教育无人机,解析从数据集构建、模型训练、推理调参到真机飞行的完整闭环。内容涵盖旗、圈两类目标的识别、基于尺寸的视觉测距方法、PID追踪链路及典型故障排查,为毕业设计、课程实践或无人机视

weixin_30745553的博客 301

基于YOLOv5与Tello TT的无人机视觉追踪与测距全流程实战

目标检测是计算机视觉的核心任务之一,旨在识别图像中的物体并定位其位置。其原理是通过深度神经网络学习图像特征,从而实现对不同类别物体的分类与边界框回归。这项技术为机器赋予了“看懂”世界的能力,具有极高的技术价值,广泛应用于自动驾驶、安防监控、工业质检和机器人导航等领域。本文聚焦于一个具体的工程实践场景:将流行的YOLOv5实时目标检测模型与**大疆Tello TT教育无人机**相结合,构建一个完整的端侧AI视觉系统。该系统通过Wi-Fi接收无人机回传的视频流,利用YOLOv5进行实时检测与追踪,并基于单目视觉

weixin_29048309的博客 317

Tello无人机使用目标检测(YOLO)和强化学习(DDPG)进行目标跟踪_Tello drone object tra

Tello无人机使用目标检测(YOLO)和强化学习(DDPG)进行目标跟踪_Tello drone object tracking using object detection (YOLO) and reinforcement learning (DDPG).zip

基于YOLOv5与Tello TT的无人机目标检测与追踪系统实践

目标检测是计算机视觉的核心任务之一,旨在识别图像或视频中特定物体的位置与类别。其原理通常基于深度学习模型,通过卷积神经网络提取特征并预测边界框。这项技术为机器赋予了“视觉理解”能力,在自动驾驶、安防监控和智能机器人等领域具有重要价值。在无人机应用场景中,实时、轻量化的目标检测是实现自主飞行与智能交互的关键。本文聚焦于将前沿的YOLOv5模型部署至大疆Tello TT教育无人机平台,通过模型优化与工程集成,解决边缘设备算力瓶颈与实时图像处理等挑战,构建了一套完整的AI无人机视觉方案,涵盖了从数据集准备、模型训

weixin_31458015的博客 339

YOLOv5实战口罩佩戴检测

人脸口罩佩戴检测(识别)是当前急需的应用,而YOLOv5是目前流行的强悍的目标检测技术。本课程使用YOLOv5实现人脸口罩佩戴的实时检测。课程提供超万张已标注人脸口罩数据集。训练后的YOLOv5可对真实场景下人脸口罩佩戴进行高精度实时检测。 本课程会讲述本项目超万张人脸口罩数据集的制作方法,包括使用labelImg和“精灵标注助手”标注工具以及使用Python代码对第三方数据集进行清洗。 本课程的YOLOv5使用PyTorch版的ultralytics/yolov5,分别在Windows和Ubuntu系统上做人脸口罩佩戴检测的项目演示。具体项目过程包括:安装YOLOv5、训练集和测试集自动划分、修改配置文件、准备Weights&Biases(wandb)训练可视化工具、训练网络模型、测试训练出的网络模型和性能统计。

基于yolov5与Tello TT的无人机识别追踪测距实战解析

目标检测是计算机视觉的重要方向,yolov5凭借轻量高效成为边缘部署的首选算法。将检测模型接入真实无人机时,通信链路与实时控制往往成为瓶颈。文章以大疆教育无人机Tello TT为平台,介绍通过UDP协议建立地面站与飞控的数据通道,获取视频流并运行yolov5实现目标识别检测,进一步结合PID控制器完成视觉追踪,并基于单目视觉几何模型估算目标距离。从通信自测、推理参数调整到测距滤波,系统讲解一条可复现的“识别-追踪-测距”链路,为无人机课设、机器人竞赛及巡检Demo提供工程参考。

weixin_33860528的博客 374

YOLOv5+大疆Tello TT实战:从训练到实时检测追踪

目标检测是计算机视觉的核心任务之一,而YOLOv5凭借其出色的速度与精度平衡,成为工程落地的热门选择。从模型训练原理到边缘设备部署,YOLOv5提供了一套完整的工具链。与此同时,大疆教育无人机Tello TT作为轻量级开发平台,通过SDK开放了视频流与控制接口,为算法验证提供了真实空中视角。本文面向K12教育、创客竞赛与机器人开发者,系统拆解如何将YOLOv5目标检测、多目标追踪与单目测距算法移植到无人机平台,涵盖数据集标注、训练环境搭建、模型导出及实机推理调优。通过卷积神经网络的前向传播,模型能够实时识别

weixin_42524499的博客 320

YOLOv5(PyTorch)实战:训练自己的数据集(Windows)

YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而性能高,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv5使用ultralytics/yolov5,在Windows系统上做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 希望学习Ubuntu上演示的同学,请前往 《YOLOv5(PyTorch)实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.youkuaiyun.com/course/detail/30793  本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.youkuaiyun.com/course/detail/30793Windows系统 https://edu.youkuaiyun.com/course/detail/30923《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.youkuaiyun.com/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.youkuaiyun.com/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.youkuaiyun.com/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.youkuaiyun.com/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.youkuaiyun.com/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.youkuaiyun.com/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.youkuaiyun.com/course/detail/35209《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.youkuaiyun.com/course/detail/35284       

YOLOv5 + Tello TT:从目标检测到单目测距的无人机视觉实战

计算机视觉在无人机领域的应用日益普及,目标检测与单目测距是自主追踪系统的核心基础。YOLOv5作为轻量级检测模型,可在有限算力下实现实时识别;而Tello TT教育无人机通过UDP链路回传视频流,为开发者提供了低成本的视觉闭环实验平台。理解针孔成像与俯仰角补偿原理,即可用单目摄像头估算目标距离。结合PID控制与滤波平滑,能将检测框转化为飞控指令,完成追踪任务。本文面向毕业设计、竞赛及工程爱好者,系统梳理环境配置、模型训练、真机部署中的关键问题与避坑经验,帮助读者快速搭建一套可复现的无人机视觉追踪测距系统。

weixin_29061425的博客 266

【手把手教程】大疆Tello无人机+YOLOv5目标检测实战:从环境搭建到实时推理全流程(附完整代码与演示视频)

用Tello无人机+YOLOv5搭建实时目标检测,Python 3.8.9环境一次跑通。本文拆解Tello图传读帧、YOLOv5模型加载与推理全流程,并给出PosixPath报错、UDP连接失败等排查方案。关键帧可经TaoToken做语义分析,官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供API接入。

weixin_42599558的博客 14

YOLOv5与Tello TT无人机目标检测追踪测距实战解析

目标检测是计算机视觉的核心任务之一,YOLOv5作为单阶段检测器的代表,凭借一次前向推理同时输出边界框与类别,在实时性与精度之间取得良好平衡,尤其适合边缘部署的低算力设备。在无人机教育场景中,Tello TT无人机通过WiFi传输视频流,由上位机完成YOLOv5推理,进而实现地面目标的识别、追踪与距离估算。本文从环境搭建、数据集制作、模型训练到实机联调,系统梳理了完整链路的实现要点与常见问题,涵盖OpenCV视频流处理、单目测距原理及滤波优化技巧,为开发者和教育工作者提供了一份可快速复现的工程实践指南。

weixin_29483277的博客 348

YOLOv5无人机目标识别追踪与测距:基于大疆Tello TT的完整实现

目标检测是计算机视觉领域的核心技术之一,其任务是在图像或视频中定位并分类物体。YOLO系列作为单阶段检测器的代表,凭借其端到端的网络结构和高效的推理速度,成为边缘端视觉应用的首选算法之一。在无人机平台,目标检测常与追踪、测距需求耦合,构成自主感知与避障系统的基础。大疆Tello TT作为教育级四旋翼飞行器,支持开放的SDK通信协议与视频流传输,为研究者提供了低成本、可复现的算法验证平台。将YOLOv5部署于此类无人机,不仅能够实现实时目标识别与跟踪,还可结合单目视觉几何关系估算目标距离。本文梳理一套基于YO

weixin_42662605的博客 312

基于yolov5+大疆教育无人机Tello TT实现目标识别检测+追踪测距完整源码+数据集+训练好的模型+说明文档.zip

基于yolov5+大疆教育无人机Tello TT实现目标识别检测+追踪测距完整源码+数据集+训练好的模型+操作说明文档.7z 数据集目标是旗、圈识别

YOLOv5+大疆Tello TT无人机目标识别追踪与测距实战

计算机视觉与无人机技术的融合催生出低成本自主视觉系统。目标检测模型YOLOv5部署在地面站,通过Wi-Fi接收大疆教育无人机Tello TT的视频流,实现实时识别与锁定;配合PID控制与单目测距,无人机可稳定追踪目标并估算距离,形成识别-跟踪-测距的完整闭环。该方案显著降低了无人机视觉开发门槛,广泛适用于竞赛、课程设计及边缘计算验证等场景。围绕YOLOv5与Tello TT的实战项目,从环境搭建、数据集制作、模型选型到追踪测距联动,系统拆解了关键实现与常见坑点,为无人机视觉开发者提供一套可落地的参考路径。

weixin_29100399的博客 214
上一篇: 【大疆Tello无人机图传read_video_frame报错raise Empty】
下一篇: 【保姆级教程:Ubuntu配置深度学习环境(1)Anaconda安装|换源——B站视频同步】
一只云卷云舒
博客等级 码龄7年 8912粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只云卷云舒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值