人脸识别

节点基于 face_recognition 动态检测与识别人脸,并以“稀疏标注”方式可视化关键点,显示更清爽。

内置节点 face_recognition 订阅 /camera_raw,识别并可视化后发布图像与消息结果。

启动命令

shell
ros2 run pycodevision face_recognition

该节点默认绑定可以直接通过平台节点管理菜单启动。

节点参数说明

参数名 描述 类型 默认值 说明
input_topic 订阅主题 String camera/image_raw 输入图像主题;可改为压缩图像主题(例如 /camera_jpeg)
input_encoding 输入图像编码 String bgr8 仅支持 bgr8 或 jpeg;据此自动选择订阅消息类型(sensor_msgs/Image 或 sensor_msgs/CompressedImage)
output_fps 发布帧率 int 6 定时器发布频率(Hz),影响图像/消息的发送速率
output_quality JPEG 压缩质量 int 60 范围 [0~100];仅对发布的压缩图像生效(值越大越清晰但更大)
output_image_close 关闭图像发布 bool false false:发布处理后图像到 /{name}/image_jpeg;true:仅发布文字消息

参数使用方法

shell
# 订阅压缩图像输入(来自 camera_jpeg),并降低输出帧率、画质 ros2 run pycodevision face_recognition --ros-args \ -p input_topic:=/camera_jpeg \ -p input_encoding:=jpeg \ -p output_fps:=5 \ -p output_quality:=50 # 仅发布文字消息(不发布处理后图像) ros2 run pycodevision face_recognition --ros-args -p output_image_close:=true

视频查看

点击“人脸识别”节点,进入该节点通信页面。

订阅图像输出示意

点击发布主题“/face_recognition/image_jpeg”中的“订阅”按钮,类型默认选择“图片”,弹出视频显示窗口;或点击发布主题“/face_recognition/message”选择“文本”,即可查看发布消息。

消息输出示意