还记得那个让你「百发百中」的篮板吗?虽然它已经极大地提高了进球率,但作者似乎并不满意。最近,他又做了个改进版,用上了机器人和计算机视觉技术!他还说,「如果都这样了你还进不了,那只能说你太菜了(you really suck)」。
在上个月发布的一个 YouTube 视频中,一位名叫 Shane Wighton 的小哥展示了一款特殊的篮板。与普通的平面篮板不同,这个篮板是曲面的,每个位置的弧度都经过了周密计算。整个过程利用了蒙特卡罗法和最小二乘法,极大地提高了进球率,视频的播放量也超过了 400 万。
但是,作者本人好像并没有很满意,因为他发现如果你投的球是平飞球(击出之球又直又快),还是很难保证球落到篮筐里。
于是他继续创新。这回,他使用了机器人和计算机视觉!改进后的篮板长这样:
也就是说,当球打在篮板上的时候,篮板会自己调整角度,「想法设法」把球弹到篮筐里。它知道你的球从哪里来、何时来、轨迹是什么样的,因为整个房间都在它的「监控」之下。
此外,它还知道投球的人是谁,因为上面安装了人脸识别系统。
要做一个这样的篮板有很多困难。首先,篮板需要尽可能灵活,能够上下左右前后灵活转变方位;其次,机械动作的完成要尽可能快,因为从球脱手到击中篮板通常只有 600 毫秒。
他在篮板的后面安装了 3 个小电机,每个电机控制一个连杆,因此这个篮板有三个自由度。由于电机功率较小,所以他选择的篮板质地很轻。
篮板后边用的材料都是金属,借助等离子切割技术切割而成,这部分金属材料大约花了 5 美元。此外,他还用 3D 打印技术做了一些零部件。
完成这些机械制造部分之后,接下来要考虑的是如何让篮板「掌握」投球者的信息。
在硬件方面,Wighton 用到了微软为 XBOX360 打造的 3D 体感摄影机——Kinect。Kinect 可以为软件提供视频输入,视频中带有深度信息,可以表示你和摄像头之间的距离。Wighton 借助这些信息完成球的轨迹追踪。
最难的部分是软件,这花费了作者的大部分时间。Wighton 表示:与软件相比,机械设计部分简直太简单了。
首先,软件需要在视频中找到球,而且要尽可能又快又准。
在视频中,基于单一的帧很难区分出哪个是球,「聪明」的计算机视觉系统把篮球、人头甚至是角落的杂物都当成了球。
于是,Wighton 只能凭借视频中每个物体的轨迹来判断哪个是球。
篮球的轨迹应该是一条平滑的抛物线,Wighton 借助这一物理常识来判断哪个是篮球。
找到球之后,接下来就是预测球的完整轨迹以及球可能打在篮板的哪个位置:
在这个过程中,收集的数据越多,预测就越准确。由于 Wighton 能算出从下达指令到篮板移动的时间,因此他选择在篮球快要击中篮板的最后几毫秒下达指令,这样能大大缩小落点的潜在范围。
算出了这些信息之后,接下来就要讨论如何移动篮板。此处的原理也比较容易理解,如果系统判断篮板该往前移,它就会让篮板适当下压,反之则适当上翘。
当然,移动方案并不是固定的,Wighton 选择方案的标准是:这个方案能做到吗?要花多长时间?整个的计算过程其实是非常复杂的,充满了各种数学方程。
目前,这个篮板还存在一些问题,如 Windows 太慢,有时候会胡乱下指令,还有很多 bug 没有修复…… 这些问题也导致篮板在关键时刻翻车,比如在作者老婆试用的时候:
翻车就算了,还有语音反馈:“you really suck at basketball”。
看了整个过程,你是不是也想动手复现 Wighton 的篮板项目?在复现过程中,你需要这些材料和设备:
这回他没有选择手工制作,而是网购了一个。为了达到最佳效果,Wighton 也是拼了!
技术制图时,他使用了 13 英寸的 iPad Pro。
Wera allen keys 五金工具、马克笔、电焊机、铆接套件、AngleCube 数字量角器、压弯机、20 吨折弯机、无线角磨机、Powermax45 XP 专业级机用等离子切割系统等等。
除了实体硬件和工具以外,知识才是做成这个项目最重要的工具。
书到用时方恨少?不存在的。Wighton 在做这个项目前阅读了以下书籍,从中获得了很多技能:
这些书籍涉及算法、统计学、计算几何学等等,看来 Wighton 做了相当充分的准备。
网友神评论:别问我记不记得高中几何,问就是不记得!
面对 Wighton 不达目的(百发百中)绝不罢休的精神,网友展开了神评论:
我本来打算吐槽『这个人竟然在这个领域浪费时间,之前那个小哥的木制篮板已经很强了……』然后发现,额,竟然是同一个人做的……
这怎么可能?你怎么会具备这么多不同领域的专业知识、这么多昂贵的机器和这么多时间?
作为一名计算机科学系的学生,我曾经告诉自己数学无用。但是你的所作所为证明我错了……
你问了很多次「还记得…… 吗」,我对此只有一句回答:「不记得」……
最后瞬间才移动的原因是,估计到的轨迹很容易改变,而这需要方向反转(即它们并不是单调地接近正确解)。如果发生了这种现象,我必须减速直至停下,然后再从另一个方向加速。最糟糕的情况是从一侧移动另一侧。我对此进行了基础分析,发现在最后时刻移动篮板得到的平均结果更好。
方向反转的另一个问题是,从完全正的加速转向完全负的加速会造成双倍的系统冲击(即加速改变率)。这会带来较多的机械振动,导致各种各样的问题。
Shane Wighton 毕业于北卡罗来纳大学夏洛特分校,获得了机械工程学士学位和计算机科学硕士学位。
他目前在 3D 打印技术开发商和制造商 Formlabs 公司担任首席工程师,热爱制作东西。
曾发表专利:
Additive fabrication support structures(增材制造支持结构)。
Wighton 于 2020 年 3 月开通了自己的 YouTube 频道,短短两个月已经收获了 10 万 + 订阅者。
除了我们介绍的两个篮板视频外,Shane Wighton 的 YouTube 频道中的其他视频也多与「制造」相关。
我创造各种各样的事物,并且希望用有趣的方式来分享。我的大部分创造是制造项目,不过我也写软件、制作电子设备等。
有那么多人喜欢、分享自己的创造,并给出反馈,是件挺快乐的事吧。
话说回来,Wighton 还打算再接再厉,继续改进,说不定还会有第三版智能篮板呢!
机器之心 CVPR 2020 线上分享的第三期,我们邀请到腾讯优图实验室高级研究员 Louis 为我们做主题为《带噪学习和协作学习:不完美场景下的神经网络优化策略》的线上分享,欢迎读者报名学习。