人脸与物体追踪 AI 智能机器人设计
人机交互的精准度,取决于设备识别人脸并捕捉面部关键特征点的能力。该技术是情感分析的基础,也为基于人类真实行为的机器学习模型研发提供支撑。机器人通过解析面部特征,读懂人类情绪反馈,实现更自然的交互沟通。人脸追踪还可实现实时互动与联动动作。但想要精准捕捉上百个面部特征点,以此分析表情与情绪,依旧存在不小挑战。高端机器人系统需要实时监测 100 个以上面部点位并做出响应,例如同步转动头部、模拟自然对视等。

图 1:本文原型机器人实时追踪人脸并标记面部特征点
本系统依托MediaPipe 算法实现人脸特征点的实时检测与追踪。采集到的面部点位数据可用于数据分析与机器学习模型训练。整套代码可在多平台运行,包括个人电脑、英伟达 Jetson 开发板、树莓派,支持人脸追踪、特征点解析,并依据视觉数据精准控制头部与眼部动作。
MediaPipe 还能实时识别并追踪手机、水瓶、水杯等常见物体。机器人可转动眼部与头部跟随目标物体移动,同时完成与人、周边环境的交互。基于该功能,可研发各类任务型机器人,实现物件拾取、分拣、搬运、传递等作业。将面部特征追踪与物体检测相结合,能大幅提升机器人的环境感知能力与响应速度。同时,系统可采集人与物体的交互数据,用于训练抓取、动作操控及自主决策类机器学习模型。MediaPipe 框架轻量化的特点,让本系统能够在树莓派、英伟达 Jetson、普通电脑等边缘设备上高效运行。图 1 展示了原型机器人实时追踪人脸并标记特征点的效果。下文物料清单为搭建该系统所需配件。
物料清单
| 配件名称 | 规格说明 | 数量 |
|---|---|---|
| 机器人 3D 打印结构件 | inMoover 机器人面部 3D 配件 | 1 |
| 舵机 | 控制眼部与头部动作:2 个微型齿轮舵机 + 2 个 MG995 金属齿轮舵机(同规格产品均可) | 4 |
| 树莓派 / 英伟达 Jetson / 英伟达 Orion | 负责 AI 图像处理与整机控制的单板计算机 | 1 |
| 5V/2A 直流电源 | 为机器人及舵机供电 | 1 |
| 树莓派摄像头 | 500 万 / 1000 万像素 CSI 接口摄像头 | 1 |
补充说明:除上述配件外,组装机器人还需准备螺丝、螺丝刀等基础五金工具。
机器人结构设计与组装:面部主体
本设计采用2GB 内存版树莓派 4作为主控单元,也可搭配英伟达 Jetson、Orin 开发板使用,后者能进一步提升运行性能。机器人面部基于开源 InMoov 机器人方案设计,主体结构、摄像头及树莓派固定支架均为 3D 打印件。机器人头部内部额外搭载单板控制模块,用于驱动舵机及内部传动结构。
组装机器人头部 3D 打印构件;
安装舵机,实现眼部与头部转动功能。安装细节可参见图 2,完成后再组装眼部组件。

图 2:机器人头部组装与舵机安装示意图
安装摄像头
将摄像头嵌入 3D 打印的眼部外壳内,用于采集视觉画面。固定好单侧摄像头后,组装其余眼部零件,最后将整套眼部组件安装至头部的舵机传动机构上,详见图 3。

图 3:内嵌摄像头的机器人眼部结构
拓展同类项目
物联网人脸识别 AI 机器人
基于 Python 与 OpenCV 实现实时人脸识别
视频拍摄专用人脸跟随智能摄像头
人脸追踪跟拍无人机
搭载计算单元
接下来安装机器人的核心计算单元,负责图像处理、AI 运算及机器学习模型运行,安装效果见图 4。

图 4:头部内部计算单元安装示意图树莓派体积小巧,可直接内置在机器人头部。
将其固定在头部顶端,再扣合剩余 3D 外壳。闭合壳体前,接好供电线路与舵机控制线,电路原理参见图 5。

图 5:电路原理图
该电路基于树莓派 4 搭配两路舵机搭建,采用集成 A/B/C/D 引脚的语音 AI 扩展板驱动舵机;也可直接通过树莓派通用输入输出(GPIO)引脚外接 5V 电源驱动舵机,此种方式需同步修改代码中的脉冲宽度调制(PWM)引脚配置。 最后通过 CSI 排线及接口连接摄像头。
软件环境配置
默认树莓派已预装树莓派系统(Raspbian),若未安装,请前往树莓派官网完成系统部署。 系统一般自带 Python 集成开发环境,如缺失则单独安装。
1. 安装 MediaPipe 及相关依赖库(图像处理、舵机控制)

图 6:树莓派环境下 MediaPipe 安装流程
安装 MediaPipe
打开终端,执行以下指令:plaintext
sudo pip3 install mediapipe
验证安装
启动 Python 环境,执行导入指令:plaintext
import mediapipe as mp
若无报错,代表安装成功。
安装舵机控制库
使用gpiozero库控制舵机,执行指令:plaintext
sudo pip3 install gpiozero
安装 OpenCV 库
执行指令:plaintext
sudo pip3 install opencv-python
2. 下载物体检测模型
MediaPipe 支持多款物体检测模型,针对树莓派设备,efficientdet_lite0.tflite 兼顾运行速度与识别精度,为优选方案。 前往 MediaPipe 官方页面下载该模型,将后缀为.tflite的模型文件与 Python 代码放在同一文件夹内,代码中直接填写文件名即可调用。
3. 编写程序代码
整套系统分为两大程序:其一为人脸追踪程序,实时识别 100 余个面部特征点,并控制舵机完成人脸跟随;其二为物体追踪程序。
人脸追踪代码
基于gpiozero、MediaPipe、OpenCV 等 Python 库开发。程序实时读取摄像头画面,交由 MediaPipe 解析,获取面部特征点坐标后,驱动舵机转动以跟随人脸。

图 7:人脸追踪代码片段
可根据检测点位的横、纵坐标,联动眼部、头部舵机动作,代码片段包含舵机引脚配置、AI 图像处理模块导入等内容。
物体追踪代码
代码中导入 MediaPipe 库,并填写此前下载的物体检测模型名称与路径。若模型与代码同目录,无需填写完整路径,仅输入模型文件名即可。

图 8:物体追踪代码及交互提示界面

图 9:实时物体追踪运行效果程序运行后会弹出交互提示,用户可输入需要追踪的目标名称,例如风扇、水瓶、人物、手机、电视遥控器等。
人脸与物体追踪机器人测试
人脸追踪测试:运行人脸追踪程序,画面会标注出追踪的人脸区域,机器人头部与眼部将实时跟随人脸转动。
物体追踪测试:运行
objecttrack.py程序,在弹窗内输入目标物体名称(球类、水瓶、人物、手机等),摄像头将自动锁定目标并联动机械结构跟随移动,效果与原型机(图 1)一致。 如图 9 所示,追踪手机时,界面会同步显示检测框、置信度及追踪坐标信息。










评论