用树莓派DIY低配版谷歌眼镜,自定义手势操控

通过帅气的手势,操控投影在眼前的电子成像,这不就是科幻片里的基础配置嘛。
图片
现在,有人把它从科幻电影中带入了现实。动动手指,实现对眼前世界的掌控。
热衷于制作智能小物件的油管博主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