DIY穷人版谷歌眼镜,自定义手势操控,树莓派再一次被开发新玩法

兴坤 发自 凹非寺
量子位 报道 | 公众号 QbitAI

通过帅气的手势,操控投影在眼前的电子成像,这不就是科幻片里的基础配置嘛。

现在,有人把它从科幻电影中带入了现实。动动手指,实现对眼前世界的掌控。

热衷于制作智能小物件的油管博主Teemu Laurila,利用树莓派DIY了一副可识别自定义手势的AR眼镜。

将自己想设置的手势录入装置,即可实现炫酷操作。

我有了一个大胆的想法!

自制AR眼镜中的世界

先开始表演吧!

捏住手指上下拉,就可以完成调整亮度指令。(这是你的第一人称视角)

对手势识别,叠加显示在镜头成像中。

再来一个更直观点的视角,通过眼镜看看效果。

DIY过程

AR眼镜本身就充满了科技感,让现实世界充满赛博朋克的味道。

那不如更炫酷一点。打个响指,就能运行命令,这不必博人传燃?

说干就干,首先需要设计出,装置会包含有哪些部分。

除了本体眼镜框架,硬件部分还包括了透镜组,0.6 mm PETG投影镜片,配件部分由聚乳酸材料3D打印制成。

毕竟它是智能装置的DIY,怎么可以不请万能迷你电脑树莓派出场。

而软件部分,手势识别程序依赖于python开源项目MediaPipe

除此之外,Teemu Laurila还写了两个程序脚本。

一个是通过捏手指控制亮度的应用示例,另一个是捕获实时视频中的手势传送到电脑进行处理,并通过智能眼镜叠加显示。

条件都齐了,那么动手组装起来试试。

经历多次调整,各部分零件最终组合成如下装置。

想让程序在装置上可用,首先,需要一个树莓派作为程序支持。

随后设置好内存、驱动、运行环境、多媒体接口、网络等条件,让整个装置超频运行。

硬件软件环境都准备好以后,调试应用程序。

应用程序功能的核心——手势识别模型由3个框架组成,包括手掌识别模型BlazePalm(用于识别手的整体框架和方向)、Landmark模型(识别立体手部节点)、手势识别模型(将识别到的节点分类成一系列手势)。

识别算法的训练过程中,BlazePalm模型识别手掌初始位置,对移动端的实时识别进行优化。

在BlazePalm识别到的手掌范围内,Landmark模型识别其中21个立体节点坐标。

手势识别模型则在此基础上,根据关节角度识别每根手指状态,将状态映射到预定义的手势上,预测基础静态手势。

通过树莓派Zero W,对手势信息捕获。图像信息传输到电脑中,由手势识别AI进行处理。之后再传达给装置,发出对应的手势命令,并同步在投影图像中。

它的前世今生

等一下,有摄像头,有微型投影仪,还有电脑处理器,并且还是一侧投影显示。这样的AR眼镜好像在哪里见过。

没错,就连用到的手势识别代码也都是谷歌开源的。

虽然没有谷歌智能眼镜类似智能手机的功能,但是相比其语音控制和触控功能,Teemu Laurila的智能眼镜选择了使用自定义手势触发命令,更多一分黑科技的味道。

另外,谷歌眼镜摄像头只用来拍照录像,Teemu Laurila的摄像头还承担了接受手势指令、传达指令功能。同时,投影也选择了更大尺寸的方形镜片,方便视野观察。

这款装置已经是Teemu Laurila完成的第二版智能眼镜,在外观和性能上均有优化。

材料的选择上,采用了0.6mm厚度投影镜片替代1mm厚度;以聚乳酸材料代替丙烯酸;增加了螺栓固定支架,弃用胶水。

最重要的优化是,照相机使用方形透镜让画面更清晰。

Teemu Laurila将自己补充的两段代码,分享在了GitHub平台,供感兴趣的观众自己复刻。

参考链接:
https://www.tomshardware.com/news/raspberry-pi-smart-glasses-recognize-hand-gestures
https://www.youtube.com/watch?v=60Os5Iqdbsw
https://www.youtube.com/watch?v=Gu4oOYo38rQ

GitHub链接:
https://github.com/Teneppa/CameraStream
https://github.com/Teneppa/HandTrackingBrightnessControl

版权所有,未经授权不得以任何形式转载及使用,违者必究。