网红模型作者是调包侠?Reddit 小哥发布手势绘画模型,获超2300个赞

百家 作者:新智元 2021-09-15 13:10:16



  新智元报道  

来源:Reddit

编辑:LRS

【新智元导读】最近Reddit上一个贴爆了,获得超两千三百个点赞!一个小哥发布了自己做的深度学习模型,可以隔空写字,并把无关的笔划给去除掉。有网友质疑他只是调包,而作者认为自己做了很多工作,由此引发了激烈的讨论!



谁的童年没有对着空气画画呢?
 
最近Reddit上一个小哥发帖,借助深度学习技术,随着手指的移动,可以在屏幕上隔空绘制图形,可以实现了这样的一个效果。
 
 
由于手指的连续性,会导致绘制的图案连在一起无法看清,当绘制完成后看起来可能就会像下面这样。
 
 
然后通过模型的预测功能,神奇的事情发生了,图案变成Hi Reddit了,甚至笑脸都给预测对了,这个模型的主要功能也是预测每个笔画是向上还是向下。
 
 
目前代码已经开源,在GitHub 上可以公开访问。
 
https://github.com/loicmagne/air-drawing

模型的技术实现主要包括两个组件,检测手的位置和预测最终的图形,这两步都是通过深度学习模型实现。
 
手势检测(handpose detection)使用MediaPipe toolbox 中 Hands 提供的功能。
 




 
通过这个开放的模型可以感知手的形状和运动,除了用来隔空画画之外,还可以用于手语理解和手势控制,也可以让数字内容和信息覆盖在增强现实的物理世界之上。MediaPipe Hands能够定位出21个手的坐标,并在桌面端和移动端进行实时推理,甚至多个手也不在话下。
 
绘图预测部分仅使用手指位置,而不使用真实绘制出来图像作为模型输入。输入是一个sequence,包括二维点的位置,在模型中使用手指的速度和加速度而非位置来使预测平移不变,输出是二分类:向上(pencile up)或向下(pencil down)。
 
模型使用了一个简单的双向LSTM架构,作者自己制作了一个小数据集,大约包含50个样本,并使用工具对数据进行标注。
 
起初作者的设想是对绘图进行实时预测,在用户绘画的过程中对笔画的上升和下降进行预测,但这项任务的实现很难,并且结果也不理想,所以就放弃了,这也是作者使用双向LSTM 的原因。
 
最后,整体的代码都放在了一个notebook中,要是感兴趣的话快去享用吧!
 
 
整个应用完全运行在客户端,不需要大算力的服务端。作者通过将PyTorch模型转换为.onnx,可以非常方便地与许多兼容ONNX Runtime的layer来部署深度学习模型。
 
目前来说,模型还比较简单,并且数据量也很小,用户数据样式比较单一,并且目前手指信号的处理很依赖相机的质量,泛化性也不够好。
 
技术分享帖一经发出,立刻引起大量围观,有些网友质疑作者的工作太少,就是个调包侠,直接使用MediaPipe 调个包就完事了。
 
作者解释道:他工作主要是笔画和滑动的预测,每次用户抬起手指的时候就会预测他到底往哪个方向滑动,并且使用了一个RNN 根据手指滑动的速度来实现预测。
 
而且就算是个小数据集,那50个数据也是我自己标的!
 
 
也有网友鼓励到,没错!我刚要说你调包侠,但我发现你确实是训练了自己的模型,加油!
 
 
也有网友在OpenCV的教学网站上找到了类似的教程,教学内容是构建一个Air Canvas,可以通过相机捕捉运动,并使用彩色标记来绘制图案,使用指尖处的彩色物体用作标记。实现过程主要使用了颜色检测和手势跟踪技术。
 
 
作者回复道,追踪手指的OpenCV项目有很多,但他们都没有预测手指的方向。
 
当然鼓励、赞赏的网友还是大多数,你觉得他是调包还是真的有点东西?




参考资料:

https://www.reddit.com/r/MachineLearning/comments/pmqtj9/p_using_deep_learning_to_draw_and_write_with_your/





关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接