视觉组学习建议
说在入队之前:
学习是一个长期积累的过程,不是一蹴而就的,视觉算法组的学习亦是如此。今后在机器人队的时间里,各位将会学习到很多有用的知识与技能,希望各位能够认真学习,坚持积累。切记不可心急,要戒骄戒躁,扎实的基础对你今后肯定会有很大的帮助;亦不可闭门造车,独来独往。多与身边的同学交流,定会茅塞顿开,受益匪浅。——算法组师兄们
基础篇
编程语言
C++
野狼队视觉算法组目前使用的主要语言是 C++
std::cout<< "Hello Wild Wolf";
建议参考书籍:
- 《C++ 程序设计基础(第五版)》- 电子工业出版社
- 《C++ Primer(第五版)》- 电子工业出版社
- 《C++ Primer Plus(第六版)》- 人民邮电出版社 [pdf]
重点掌握C++的基本语法、逻辑运算、数组、函数、指针等,面对对象部分的知识也非常重要,建议仔细学习和理解,上述参考书都需要时常翻阅
- 《深入理解 C++11 C++11新特性解析与应用》
- 《STL源码剖析》
上述两本参考书对于C++知识的巩固与提升会有很大的帮助,非常建议阅读
其他学习资料推荐:
Python
Python拥有大量的现成库可供调用,可以提高视觉算法的开发测试速度,算法组有时也会使用到这门语言
print("Hello visual group");
建议参考书籍:
其他学习资料推荐:
数学
在今后的学习中,数学知识将作为最重要的基础知识一直帮助你,一定要跟它搞好关系
数学学习的书籍选择学校课程学习中所使用的书籍即可,感兴趣的同学可以先跟师兄借阅
拓展阅读:
- 《程序员的数学》- 人民邮电出版社 结城浩
- 《程序员的数学 2 概率统计》- 人民邮电出版社 结城浩
- 《程序员的数学 3 线性代数》- 人民邮电出版社 结城浩
- 《数学之美》
进阶篇
Linux 操作系统
Ubuntu
机器人队使用的版本为 Ubuntu18.04 建议以此版本开始学习
如何安装 Ubuntu:
Linux 学习参考书籍推荐
- 《鸟哥的 Linux 私房菜 第四版》- 人民邮电出版社
重点学习 Linux 系统的基本操作,如各种文件的操作,环境配置等等,刚开始学习肯定会有很多不理解,会有很多次的重头再来,不要因为这个抱怨,不断的跌倒才会变得更强
代码编辑器
VSCode
- 跨平台,插件丰富,高度自定义
Pycharm
- 跨平台,插件丰富,巨好用的 Python 编辑器
Qt Creator
- 跨平台,环境配置友好,高效
Visual Studio
- Win,环境配置方便
编译工具
CMake
CMake 是 Cross platform Make 的缩写,它是一个开源且跨平台的构建系统,适合复杂的大型项目维护,实验室目前主要使用 CMake 作为主要编译工具
学习建议:
对于初学者,CMake 官网提供了详细的文档和一系列教程帮助你快速上手,建议先阅读这份 [教程]
当你逐渐熟练,并需要使用 CMake 构建更加复杂的项目,可以继续学习 CMake 的 相关文档
学习资料推荐:
协作开发
Git and GitHub
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
GitHub是一个面向开源及私有软件项目的托管平台
Git 和 GitHub 的搭配使用可以非常有效地提高团队协作的工作效率。通过分支和主线的合并和分离,代码的迭代工作将会变得便捷容易。可以提前尝试使用 GitHub 托管自己的项目,学会 GitHub 的基本操作,正式加入后会有公用账号
推荐学习资源:
自己跟着教程实践操作,能快速熟悉 Git 的操作
算法篇
基础部分
OpenCV
OpenCV 是一个跨平台计算机视觉的开源库,实现了很多图像处理和计算机视觉方面的通用算法,是目前算法组主要使用的开源库
推荐使用书籍:
- 《OpenCV3 编程入门》—— 电子工业出版社-毛星云
- 《学习 OpenCV3(中文版)》—— 清华大学出版社
推荐学习链接:
- OpenCV官网
- 官网的
Tutorials
页面有包括安装在内的一系列教程,非常完整 - 如何安装
OpenCV
- 官网的
- OpenCV官方 GitHub
推荐几个很有趣的官方例程:
Image Segmentation with Distance Transform and Watershed Algorithm
- 这个例程将一堆杂乱堆放的扑克牌分割成独立的区域
- 这个例程对一张本来没对上焦的照片去模糊,将照片变得比较清晰
学习路线(仅供参考):
拓展练习:
拓展阅读:
- 《数字图像处理》—— 电子工业出版社,冈萨雷斯
- 《计算机视觉中的多视图几何》—— 机械工业出版,Richard Hartley
进阶部分
机器学习/深度学习
推荐使用 Tensorflow
或者 Pytorch
作为深度学习框架
一些相关的有趣例程:
推荐书籍:
- 《机器学习》—— 清华大学出版社(西瓜书)
- 《统计学习方法》—— 清华大学出版社,李航
- 《深度学习》—— 人民邮电出版社(花书)
- 《神经网络与深度学习》—— 机械工业出版社,邱锡鹏 https://nndl.github.io/ 开源并且可以在线阅读
ROS
ROS 是一个开源的机器人操作系统
学习资源推荐: