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

未来可能的技术点

深度学习

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

预瞄系统建模

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

自适应算法

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

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

  1. 北理工机器人队RM视觉组ubuntu必备软件安装指南

    基础软件安装 sudo apt update && sudo apt upgrade sudo apt install git curl vim gcc g++ cmake与make ...

  2. 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...

  3. 痞子衡嵌入式:史上最强ARM Cortex-M学习资源汇总(持续更新中...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M学习资源. 类别 资源 版本 短评 官方汇总 cortex-m-resources / ARM公司专家Josep ...

  4. oracle学习 三(持续更新中)

    关于ora 01219问题的解决 之前学习oracle的时候练习去建立表空间,建了很多之后手动删除了,之后再使用自己创建的用户名登陆数据库就会造成数据库 ORA-01031: ORACLE initi ...

  5. oracle学习 一 (持续更新中)

    首先你需要创建一个表空间,然后,再创建一个用户名,用户名要给他指定一个表空间,并且给这个用户赋予权限, DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有 ...

  6. docker学习资料整理(持续更新中..)

    docker最近可以说火得一踏糊涂,跟 51大神在交流技术的时候这个东西会多次被提到,当我们还玩vm+linux/freebsd的时候,人家已经上升到更高层次了,这就是差距,感觉好高大上的样子,技术之 ...

  7. Kotlin教程——史上最全面、最详细的学习教程,持续更新中....

    关于这个系列教程,我是从最基础的开发环境搭建到项目进阶到后面的项目开发这个过程来写的.我一直秉承从实际项目开发以及源码解析的角度去写好这个教程,并让从未接触过编程的朋友能学好kotlin这门语言.所以 ...

  8. LoadRunner从入门到实战学习路线(持续更新中...)

    写在前面        我是一个测试工程师,从土木工程行业转行到互联网行业,目前是工作的第三年.平时主要做功能测试,性能测试接触比较少,虽然以前培训的时候学习过一些性能相关的知识,但都是入门初级的知识 ...

  9. HTML5学习笔记(持续更新中....)

    平时的工作中,不知不觉我们应用了很多HTML5,但当正儿八经问起来你对HTML5了解多少,很多时候都有点懵. 做个简单的HTML5总结.包括简介.要学的知识点.凌乱的知识点 HMTL5简介 定义:ht ...

随机推荐

  1. 两道DP,四年修一次路

    第十一届:山区修路 题目描述 SNJ位于HB省西部一片群峰耸立的高大山地,横亘于A江.B水之间,方圆数千平方公里,相传上古的神医在此搭架上山采药而得名.景区山峰均在海拔3000米以上,堪称" ...

  2. logrotate日志管理工具与split文件切割命令

    概述 logrotate是一个Linux系统默认安装了的日志文件管理工具,用来把旧文件轮转.压缩.删除,并且创建新的日志文件.我们可以根据日志文件的大小.天数等来转储,便于对日志文件管理. logro ...

  3. 多线程(五)多线程同步_Event事件

    事件和互斥体同样属于内核同步对象,它和互斥体以及临界区在功能上有以下区别 前面的互斥体和临界区主要作用在于确保控制多个线程之间对共享资源访问,保证共享资源的完整性 事件主要作用是通知其它线程一个操作己 ...

  4. 实现一个new操作符

    new 操作符做了这些事: 1.它创建了一个全新的对象: 2.它会被执行[[Prototype]](也就是__proto__)链接: 3.它使this指向新创建的对象: 4.通过new创建的每个对象最 ...

  5. plsql导入.dmp步骤

    https://blog.csdn.net/yudianxiaoxiao/article/details/78231143     plsql导入.sql和.dmp文件时,会经常用到,对于初学者来说可 ...

  6. [LeetCode] 91. Decode Ways 解码方法

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  7. Spring Boot中整合Sharding-JDBC单库分表示例

    本文是Sharding-JDBC采用Spring Boot Starter方式配置第二篇,第一篇是读写分离讲解,请参考:<Spring Boot中整合Sharding-JDBC读写分离示例> ...

  8. Excel输入十六进制数,以及十六进制运算

    网上复制来复制去的连个靠谱答案都没有...f**k 所以无奈自己探索出来了 先放效果图 文本值 转 进制值 单元格: A1文本值 A2进制值 输入内容: 'fefe =OCT2HEX(HEX2OCT( ...

  9. Spring 源码分析之AbstractApplicationContext源码分析

    首先我觉得分析ApplicationContext必须从它的实现类开始进行分析,AbstractApplicationContext我觉得是一个不错的选择,那我们就从这里开始逐一分析吧,首先我自己手画 ...

  10. springboot kafka 消费者

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...