北理工机器人队RM视觉组学习参考汇总(持续更新中)

欢迎大家有意加入北理工机器人队参与到视觉组的工作中。在大家能够正式作为队员参与到视觉组的准备工作之前,北理机器人队需要对各位进行培训。这篇文章主要面向有志于参加机器人队视觉组的同学。同时,欢迎所有对相关内容感兴趣的同学作为学习参考。由于作者能力有限,在行文过程中难免会出现用词不到、词语错误、歧义、技术说明错误等问题,希望大家在评论指出。同时如果你在学习过程中碰到了优秀的学习资源,也欢迎在评论区留言。谢谢大家。另外,我会将一些视频上传到bilibili,大家可以有空看一下。https://space.bilibili.com/227393559/favlist?fid=732358059&ftype=create

增加了思维导图。

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++中有关面向对象的内容。

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,这个没有必要特意去学,到时培训简单教一下就可。但是如果想要深入了解可以参阅以下内容:

CMakeLists.txt 语法介绍与实例演练

简短的CMake教程

编译

需要了解gcc编译的过程,gcc是如何一步步将文件编译链接成最终程序的。了解即可。

gcc程序的编译过程和链接原理

[gcc 编译过程]

OpenCV

opencv是一个开源的代码库。队内主要使用OpenCV进行图像处理。关于OpenCV的入门可以参阅队内另外一名同学写的博客。

https://waltpeter.github.io/open-cv-basic/

Git

git是一个版本控制工具。队内的协作、历史代码管理也全靠他。

这里推荐莫烦git教程

工业相机

这部分内容不会作为培训内容,但是入队后的同学必须掌握。这一部分可以参阅我的之前博客https://www.cnblogs.com/harrypotterjackson/

深度学习

目前对内并没有涉及相关深度学习的内容,今年会将其作为一个研究方向。深度学习的框架建议先学习tensorflow2或者pytorch

 

培训准备

1. 安装ubuntu18.04  视频:https://space.bilibili.com/227393559/favlist?fid=732358059&ftype=create

2. 注册github.com和gitee.com的账号

 

未来可能的技术点

深度学习

目前队内是使用OpenCV开源图像处理库进行编程,在适应性处理上不太好,需要不断调参以获取较好的效果。希望能够借助深度学习增强相关的自适应性。目前考虑使用的深度学习框架是TensorFlow2,。问题在于,队内需要非常快速的算法,需要不断对神经网络进行优化已达到快速处理并且效果不能低于目前的纯算法决策。

预瞄系统建模

目前的算法并没有对移动物体打击和小陀螺做系统建模处理。如何通过数学建模提高预测能力值得思索。这一点与图像制导技术非常相像。目前考虑是使用MATLAB中的Simulink做系统建模。

自适应算法

在数字图像处理领域,算法的自适应性有很多的研究。目前整个赛季对算法的自适应处理都不太好,如何借助相关的前沿算法研究加强队内视觉算法对光线环境的适应性值得思考。

 

 

 

你可能感兴趣的:(北理工机器人队RM视觉组学习参考汇总(持续更新中))