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

    linux内核中会维护两个队列:  1)未完成队列:接收到一个SYN建立连接请求,处于SYN_RCVD状态  2)已完成队列:已完成TCP三次握手过程,处于ESTABLISHED状态  3)当有一个S ...

  2. Linux中断管理 (3)workqueue工作队列【转】

    转自:https://www.cnblogs.com/arnoldlu/p/8659988.html 目录: <Linux中断管理> <Linux中断管理 (1)Linux中断管理机 ...

  3. 4-1 Matplotlib 概述

      Matplotlib概述 In [1]: import numpy as np import matplotlib.pyplot as plt #pyplot是matplotlib的画图的接口   ...

  4. 08、启动过程+at+crond+anacron

    [root@li ~]# 加电--BIOS (basic input output system)--以什么设备来启动--/dev/sda -- mbr -- grub.conf --vmlinux ...

  5. P3731 [HAOI2017]新型城市化(tarjan+网络流)

    洛谷 题意: 给出两个最大团的补图,现在要求增加一条边,使得最大最大团个数增加至少\(1\). 思路: 我们求出团的补图,问题可以转换为:对于一个二分图,选择删掉一条边,能够增大其最大独立集的点集数. ...

  6. jmeter请求参数中文乱码及无法读取CSV文件解决办法

    解决办法:参考http://blog.csdn.net/u012167045/article/details/70868306 版本:2.6 我是修改请求http请中的编码为Content encod ...

  7. 【入门篇一】SpringBoot简介(1)

    官网:https://spring.io/projects/spring-boot 一.什么是SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新S ...

  8. Springboot配置ssl使用https

    SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间, ...

  9. linux-部署1

    0.python安装 ubuntu16.04默认:安装了python2.7和python3.5: Ubuntu18.04默认:只有python3.6.8 下面是针对16.04: python/pyth ...

  10. 数据结构——链队列(linked queue)

    /* linkedQueue.c */ /* 链队列 */ #include <stdio.h> #include <stdlib.h> #include <stdboo ...