Vision Gesture Kit

Open source touchless interaction toolkit

一个面向前端应用的无接触交互组件库,把摄像头中的手势、姿态和关键点转换成稳定、可组合、跨框架的 UI 事件。

Design Philosophy

识别不是目的,交互才是产品边界

Vision Gesture Kit 不把 landmark 当成最终 API。工具库负责完成识别、滤波、状态转换、工具捕获和释放,业务代码只接收可以直接驱动 UI 的交互事件。

Intent over points

把连续空间坐标转换成 pinch、hold、drag、select 等明确意图。

Capture first

工具被捏住后保持控制权,直到明确松开,识别丢帧不会让交互突然中断。

Progressive feedback

先显示手指控制点,再显示接近的工具,最后反馈被捕获的控制状态。

Interaction Demo

Gesture controls as persistent interface components

These controls stay visible as product UI. Pinch with r1/r2 inside this area to preview control feedback without changing page scroll or navigation.

01

Horizontal slide control

右手靠近滑动控制点后进入感应状态,捏合即可拖动控制点。适合音量、时间轴、缩放比例等连续数值控制。

42%
02

Node switching control

右手靠近单个节点时只绑定最近节点,捏合完成切换。适合章节、步骤、关键点、工具模式等离散选择。

Headless
03

Layered radial menu

右侧圆心先展开二级菜单,再选择分支打开三级菜单。层级控制适合把低频命令收纳在稳定的手势区域。

Closed
Completed control

Horizontal slide control

Position42%
Completed control

Node switching control

New control

Layered radial menu

Headless Core

识别内核与前端框架解耦

核心包只管理摄像头、MediaPipe、控制点和交互状态机。React、Vue、Svelte 与原生 DOM 适配器共享同一套事件协议,不复制识别逻辑。

Camera frameHand landmarksGesture stateUI tool event

Local First

图像留在浏览器,页面保留自己的视觉

推理默认在用户设备完成,不上传摄像头图像。摄像头层本身透明,只在识别到食指与拇指后,通过围绕控制点的局部蒙版展示必要画面。

0默认图像上传
2每只手公开的控制点
GPU优先使用浏览器图形加速

Gesture as UI

手指控制工具,工具驱动页面

r1/r2 与 l1/l2 不是业务按钮,而是通用输入点。输入点接近工具后显示控制柄,捏合完成捕获,移动产生方向和速度,松开触发释放与惯性。

01

Approach

靠近工具轨道,其他工具自动隐藏。

02

Pinch

从张开到闭合才触发控制捕获。

03

Move

位移、方向和速度被转换为工具事件。

04

Release

明确松开后解除锁定并应用阻尼。

Quick Start

用最少配置启动手部交互

安装

安装独立组件包,在 React 页面中组合控制点覆盖层,并按需接入 MediaPipe 或其他视觉识别器。

npm install vision-gesture-kit @mediapipe/tasks-vision

const tracker = await createHandTracker({
  maxHands: 2,
  delegate: "GPU"
});

await tracker.start();

Core API

稳定事件替代原始关键点判断

hand:update

输出左右手控制点、可见性、置信度和时间戳。

pinch:start

仅在张开到闭合的状态边沿触发一次。

tool:capture

记录当前工具所有权,移动到其他区域也不释放。

tool:release

松开达到稳定阈值后释放,并携带末速度。

Use Cases

双手无法触屏时,工具仍然可达

无接触不是用手势复制鼠标,而是在触摸成本过高、双手被占用或传统输入不可达时,提供可见、可确认、可释放的前端工具。

医生在无菌手术环境中通过手势查看医学影像
01 / STERILE CARE

无菌医疗与影像浏览

手套无需离开无菌区,即可翻阅影像、切换术前资料或控制教学视频。高风险动作必须配置二次确认、日志和实体设备回退。

戴防护手套的工程师通过手势浏览设备操作界面
02 / FIELD WORK

工业维护与实验室

双手正在维修设备或接触试剂时,用低精度、大目标的控件翻阅 SOP、图纸和检验步骤,减少停工与交叉污染。

演讲者离开电脑后使用手势控制大型演示屏幕
03 / PRESENTATION

教学、演示与协作

演讲者离开电脑后仍能翻页、切换章节、控制视频和标注重点,同一组语义事件可以适配浏览器中的不同内容工具。

行动受限用户通过小范围手势操作无障碍界面
04 / ACCESSIBILITY

可校准的替代输入

按用户能力配置动作范围、左右手、灵敏度和停留时间,作为键鼠、触控、语音与眼动之外的补充输入通道。

正在准备摄像头与手势识别模型。