Robomaster视觉教程(零)各种常见问题汇总

在这里插入图片描述

从一个RM新人到现如今带了一届新人之后,将各种常见的问题总结下来(不定期补充更新):

1. Opencv不是已经更新到Opencv4了吗,为什么我们还要用Opencv3呢?:

答:RM比赛一定要考虑做出来机器的稳定性,老版本可能不是最先进的,但比较之下是更稳定、更成熟的,如果说创新决定了一个团队的上限,那么稳定性则决定了一个团队的下限。

2. 我的环境配置了好久也没有成功,感觉和别人的电脑有很多不一样地方,苦恼很久了

答:环境配置是每个程序员必经的阶段,坚持坚持过去了就好了。笔者已经记不清遇到过多少次类似的情况,但是配置环境这个问题,看教程是一部分,配置多了也要有自己的思考,比如:为什么要这么做?环境变量的作用是什么?这样才能在之后各种环境配置中更加流畅。

3. 我买的是苹果笔记本,可以做视觉方向的东西吗?

答:可以的。只是编程时用到的IDE不一样,具体配置教程可以参考笔者的下一篇文章。其实最终我们都会在Linux(ubuntu)下调车,所以有条件的尽量早一些接触ubuntu,在个人PC上只是练兵,不要过度去纠结某些不重要的细节,把这些时间花在研究ubuntu上更有价值(这里只对RM比赛来说)。

4. 我想在个人电脑上使用Ubuntu系统,双系统和虚拟机哪个好?

答:如果是日常学习而言,更推荐虚拟机。双系统性能更佳,虚拟机更轻量级,更加安全,就算操作失误也不会对自身电脑设备造成危害。装了双系统首先你的电脑的主导系统就会成为Ubuntu(配置双系统的时候需要设置,否则开机不会出现系统选择界面),再者从Windows转到Linux是需要时间的,现在QQ\微信等对Linux支持几乎为零,为了不浪费不必要的时间,还是首推虚拟机,如果需要跑机器学习另说。

5. 我不是计算机对口专业的,C++学起来太难了,我看Opencv也支持python,我学python可以吗?

答:可以,但是你之后的学习方向可能会更偏向机器学习和深度学习方向。RM的车上的视觉对帧率要求很高,python是解释性语言,运行速度比较慢,肯定不会是车上的第一语言,但是Python作为机器学习和深度学习的宠儿,学好python+Tensorflow/TyTorch可以投身于雷达站的研究上去,且现在比赛趋势越来越趋于智能化,也可以有所作为。


以下问题及回答出自BeingGod,他的个人网站:www.beinggod.top

6. 雷达站视觉和步兵/英雄视觉的区别?

答:抛开雷达站一些预警联动的功能,个人认为雷达站和步兵/英雄视觉的主要区别在于识别单位。步兵/英雄视觉的主要识别单位是敌方机器人的装甲板,而雷达站的视觉主要识别单位是敌方机器人。不过现阶段,雷达站视觉识别的流程与步兵/英雄视觉基本相同。

7. 机器学习/深度学习在RM视觉中有哪些应用?

答:RM视觉中有两个重要任务:目标识别与目标检测。目标识别主要是对使用传统方法获取到的装甲板图片进行分类,这一部分我们常使用机器学习中的SVM方法来解决问题。而目标检测则是对画面中的机器人进行识别,需要一次识别多个机器人。这一部分我们结合了传统的视觉方法和深度学习中的目标检测算法如:YOLO和SSD来解决问题。

8. 如何将深度学习方法运用于RM视觉上?

答:深度学习方法需要大量的数据集来训练模型,以提升模型的鲁棒性。我认为目前大多数队伍运用深度学习的主要障碍是缺乏有效的数据集。

欢迎大家在评论区提问,笔者将第一时间答复,期待与你共同进步!
在这里插入图片描述