无人机人脸追踪
Drone Face Tracking
📌 项目介绍
让无人机自动追踪人脸:摄像头检测人脸在画面中的位置,把偏移量换算成无人机的移动指令,通过 UDP 网络协议发给无人机,实现「人脸去哪,飞机跟到哪」。
通常基于 Tello 教育无人机(SDK 开放),结合人脸检测、PID 控制与网络通信,是人机交互方向的进阶项目。
🧰 环境与物料
- Tello 教育无人机(或支持 SDK 的同类机型)
- 电脑 + 摄像头(或无人机自带 FPV 画面)
- Python 3.7+ 环境
- pip 安装:opencv-python、mediapipe 或 face-detection 库
- 开阔室内场地 + 安全网(建议)
🔧 步骤拆解
1
熟悉无人机 SDK
Tello 通过 UDP 指令通信(起飞、移动、转向)
先用 SDK 指令让无人机起飞/降落,验证链路
2
人脸检测
用摄像头(可用无人机 FPV)实时检测人脸
得到人脸中心坐标与画面中心偏移
3
计算控制量
水平偏移 → 左右移动速度
人脸大小变化 → 前后移动(保持距离)
4
发送 UDP 指令
把控制量编码成 Tello 移动指令
注意指令频率与响应延迟
5
PID 调节
对偏移量做 PID 平滑输出
增益过大无人机会震荡,过小跟不上目标
6
安全联调
先低高度、慢速测试
加急停逻辑:检测失败超过阈值即悬停/降落
💡 要点提示
- 务必在开阔、无风、有安全网的室内测试
- 指令发送加节流(如每秒 5~10 条),避免刷爆 UDP
- 人脸丢失时先悬停,别让无人机乱飞