Robomaster 2021 视觉个人赛季总结 & 代码分享

Robomaster 2021 赛季总结

虽然战队曾经也有风光的时候,但今年只能走到这里了。

由于各种原因,整体来说今年就是去蹭蹭热闹,虽然大家都还是付出了挺多,但是效果就是不太好(比如,调好的车场上不动,场下却正常飞奔,就离谱)。

非常感谢大家的付出,而且现在有很厉害的新队员,也有很热心的老队员,他们都很爱这个比赛,让我这个之前一直混混水水的算法组成员有了动力(说实话,这是我第一次体会到合作的感觉),同时也看到了未来的希望!虽然付出这么多而结果不咋样,但是大家好像也都挺开心的;最后步兵一路从赛场(北部分区赛赛场在 BIT)开回学校好过瘾!

这个算法最后也没能上车实战(可能过两天会试一试),发出来算是我代表算法组对这个赛季的一个交代吧……

这次全是自己写的代码,终于可以拿出来和大家交流了: MUC-RM-CV/project-clementine - github.com

目前只有能量机关的代码,后续还会更新其他的。其实能量机关的识别已经不新鲜了,这里分享的这个也很简陋,暂时也没有加入预测功能;但是速度挺快,大概 2 ~ 3ms 一帧(分辨率 640 × 480),后续也会更新文档教程以及装甲板的识别等。

目前使用的是 Hu’s Moments (“Moment”即“图像矩”),因为扇叶旋转时形状是会变的,而 Hu’s Moments 得到的特征有旋转不变性,因此考虑使用这个来分类可能的叶片轮廓。但是,现场光照条件不同、图像分辨率不同,形态学运算的有无和参数的不同,都会影响到最后的图像矩,因此可能需要根据具体情况调整图像预处理参数,使得图像更像预先计算图像矩时使用的情况;或者重新计算当前条件下的图像矩。

本来想使用支持向量机,但是 cv::RotatedRect 包裹的扇叶形状拉直后可能会有左右的不同,担心 SVM 不能识别,故没有使用;但好像是可以判断出拉直后扇叶的朝向的,比如用主成分分析?

其实是我只会这几种方法,还是应该系统的学习一下图像处理哈哈……

还有一点心得,本来仔细写好了发在 Robomaster 论坛上,结果不知咋的没发出来,也没有事先保存,于是又要重写……所以可能漏了一两点吧……

  • 一定要有人带,效率可能是自己摸爬滚打的几十倍:一个人查资料自学可能花几个小时,但是讲给别人可能就只要十几分钟。

  • 一个巧妙 / 恰当的算法,可能比费尽心机的去优化更高效

  • 工作前一定要熟悉自己的工具,比如学 C 这种存在直接操作内存的操作的语言,就需要先了解计算机基础知识;要学计算机,先要会用计算机,这个在国内其实是个很常见的问题——很多学生并不会用电脑;还有比如使用一个软件,记住快捷按键,可能会比鼠标操作快很多。

  • 不要在精神不好的时候做事情,不然很容易犯错,而且就算犯了错,也会因记忆模糊而较难复盘,导致整体效率降低。

  • C++ 这门语言学习路线很陡峭,比如想用 STL 容器很简单,但是想用好确实难,可能需要了解右值引用、移动语义等等高阶内容;而学习图像处理,比如使用 OpenCV 的 C++ 接口可能会遇到类型转换等问题,给学习者增添了更多学习成本,而使用 Python 可能就不用太关心类型问题,更能关注内容在输入输出还有算法上。

我有一个朋友,因为他们学校方不支持,已经做不了这个比赛了;我们未来可能也会,现在看来明年应该还能参加 3v3 及以下的比赛,之后能不能继续就真的不好说了。

被迫放弃这个比赛,这个朋友他很失望,但是后来他想明白了,记不到他具体怎么说的了,我就大约复述一下,也加点自己的理解,大概就是,这个比赛就是玩,是过眼云烟,是一场派对,是会散的宴席。总有离开这个比赛的时候,这个比赛只是人生中的一段经历,结束后,你还是有自己的人生路要走。

确实,“Robomaster 机甲大师”这个比赛和其他很多的比赛不同(我好像还真想不出第二个类似的比赛),它规模大、持续时间长、门类多、开放性强(当然,门槛也高),参与的是一个个队伍,每个队伍往往都有数十人。在这个舞台上,你能见到很多人,也可能能学到很多。这个比赛着实有着独特的魅力。

但是和任何比赛一样,它早晚会结束。其他比赛可能像是一场赛跑,而它像是一次长途的徒步旅行,或者像是一场派对,派对上热热闹闹,熙熙攘攘,但它终究是比赛,而派对也总是会结束的。我们应该留下点什么,才能不至于在欢乐过后坠入虚无?

我不知道。

也许,是另一个比赛,另一场派对?

2021 年 5 月 21 日晚
于北京海淀魏公村

  • 11
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值