北理工机器人队RM视觉组学习参考汇总(持续更新中)
C++
当前视觉组使用的主要程序语言是C++。C++是语言基础,也是必学内容。目前学校在大一只会教C语言内容,与C++还是有较大差距。特别是诸如类、重载等概念需要着重学习。
另外,还需要学习多线程的内容。这一部分可以自学一些,入队之后队内会进行专门培训。
相关C++视频:
https://www.bilibili.com/video/av62208475?from=search&seid=16449930857014911385
没有C语言基础
完全没有c语言基础的同学可以先去学习C语言。我校在慕课上的精品课程:
推荐看这个视频的教程,台湾的,虽然一些术语与大陆不同,但是作为入门教程,个人感觉还是很好的:
https://www.youtube.com/watch?v=yWPGumB64tM&list=PLY_qIufNHc293YnIjVeEwNDuqGo8y2Emx
https://www.bilibili.com/video/av69329388
这个在B站上讲的也挺好的,但是对英语听力十个极大的挑战。
https://www.bilibili.com/video/av68697716/?p=5
书籍资料推荐如下:
https://www.runoob.com/cplusplus/cpp-tutorial.html
《c++ primer plus》
有基础
有C语言基础的同学可以直接学习C++中有关面向对象的内容。
菜鸟教程(推荐)
Linux
linux跟Windows一样是一款操作系统。关于Linux的介绍网上有很多,不重复造轮子。
Linux的发行版本也很多,三大主流有Fedora系,Debian系,SUSE系。队内使用的是ubuntu属于Debian系。目前正在使用的是ubuntu16.04版本。正在考虑升级到18.04版本。
校园网内可访问http://mirror.bit.edu.cn/ubuntu-releases/18.04/下载,不要流量哦。
对于新手而言,推荐使用虚拟机安装Linux,尽量不要安装在物理机下。虚拟机可以使用VMware和virtualbox。推荐使用VMware。但是VMware是收费软件,需要自行百度VMware序列号,网上有很多,找到对应版本的序列号填进去就成。
学习资料
广为人知的经典Linux入门书籍就是《鸟哥的Linux私房菜》,购买书籍买基础版即可。同时也有对应的网页http://linux.vbird.org/。但是用于入门就比较困难。快速入门推荐Linux菜鸟教程和莫烦的Linux教程。
Cmake
关于cmake,这个没有必要特意去学,到时培训简单教一下就可。但是如果想要深入了解可以参阅以下内容:
编译
需要了解gcc编译的过程,gcc是如何一步步将文件编译链接成最终程序的。了解即可。
[gcc 编译过程]
OpenCV
opencv是一个开源的代码库。队内主要使用OpenCV进行图像处理。关于OpenCV的入门可以参阅队内另外一名同学写的博客。
https://waltpeter.github.io/open-cv-basic/
Git
git是一个版本控制工具。队内的协作、历史代码管理也全靠他。
这里推荐莫烦git教程
工业相机
这部分内容不会作为培训内容,但是入队后的同学必须掌握。这一部分可以参阅我的之前博客https://www.cnblogs.com/harrypotterjackson/tag/%E7%9B%B8%E6%9C%BA/
深度学习
目前对内并没有涉及相关深度学习的内容,今年会将其作为一个研究方向。深度学习的框架建议先学习tensorflow2或者pytorch
培训准备
1. 安装ubuntu18.04 视频:https://space.bilibili.com/227393559/favlist?fid=732358059&ftype=create
2. 注册github.com和gitee.com的账号
未来可能的技术点
深度学习
目前队内是使用OpenCV开源图像处理库进行编程,在适应性处理上不太好,需要不断调参以获取较好的效果。希望能够借助深度学习增强相关的自适应性。目前考虑使用的深度学习框架是TensorFlow2,。问题在于,队内需要非常快速的算法,需要不断对神经网络进行优化已达到快速处理并且效果不能低于目前的纯算法决策。
预瞄系统建模
目前的算法并没有对移动物体打击和小陀螺做系统建模处理。如何通过数学建模提高预测能力值得思索。这一点与图像制导技术非常相像。目前考虑是使用MATLAB中的Simulink做系统建模。
自适应算法
在数字图像处理领域,算法的自适应性有很多的研究。目前整个赛季对算法的自适应处理都不太好,如何借助相关的前沿算法研究加强队内视觉算法对光线环境的适应性值得思考。