Shuihui’s Home

Course

All materials of my courses are listed below:


机器学习 - Machine Learning


cover

机器学习越来越多应用到飞行器、机器人等领域,其目的是通过计算模拟人类智能,从而实现各类装备的智能化、无人化。本课程旨在引导学生掌握机器学习的基本知识、典型方法与技术,通过具体应用案例激发学生对该学科的兴趣,鼓励学生能够从人工智能的角度来分析、解决各类问题与挑战。

本课程主要内容包括Python编程基础,机器学习模型,无监督学习、监督学习、深度学习等基础知识,并深入浅出讲授机器学习方法如何应用于数据分析、图像分割,目标识别、分类、跟踪等,此外通过实例和实验讲解方法和理论如何解决实际的问题,通过本课程的学习能够掌握使用机器学习的理论及其应用。课程的网站为 https://gitee.com/pi-lab/machinelearning_notebook 。课程的在线视频地址是 《B站-机器学习》

由于本课程需要大量的编程练习才能取得比较好的学习效果,因此需要认真去完成《作业和报告》,需要自己独立思考并独立写出代码与课题报告。

In recent years, with the rapid development of drones and robots, more and more machine learning has been applied to autonomous intelligent equipment. This course is designed to guide students to understand the basic knowledge and typical techniques of machine learning, to stimulate students’ interest on this field through specific application cases.

The content of this course includes basic knowledge of Python programming, machine learning model, learning and optimal inference, and how to apply the machine learning method to image segmentation, target recognition, classification, tracking, and so on. The course website is: https://gitee.com/pi-lab/machinelearning_notebook . The video is available at: 《Mahine Learning - Video》

To master the core of the course, it is necessary to do programming practices. Through these practices capabilities of problem solving of self learning can be boosted. The homework and report can be found at https://gitee.com/pi-lab/machinelearning_homework



一步一步学编程 - Learn Programming


cover

本教程的主要目的是帮助大家能够快速掌握编程。编程,英语,数学是通往未来的三把主要的钥匙。其中编程是让你实现梦想,英语是让你找到通往梦想的资料,数学是让你构建路径的模型和策略。编程能力是个人非常重要的一类能力,因此建议各位同学能够脚踏实地把编程基础打扎实,克服眼高手低的问题。编程和很多其他的课程不一样,不是看看就能学会,需要不断的练习,不断的debug,不断的反思,不断的重构代码才能学好。其中各种语言是招式,相对好学;算法、程序性思维是内功,并不容易提高,内功的高低才正真决定了一个人编程能力的高低。请有志于机器学习,计算机视觉的同学脚踏实地的把基础打扎实之后再开始相关专业知识的学习。

因为主要的算法或者需要高效率实现的情况下需要通过C/C++来编写程序,因此C/C++非常重要,需要学好才能更好的完成各类任务。不过C++非常博大精深,高级、复杂的语言特性可以不用一上来就去学,可以等基本语法、常用数据结构学的比较扎实之后再着手开始。学习阶段和步骤分为5个阶段,可以同时进行两个或以上的内容同时学习和练习,从而提高整体的学习效率。和其他传统的教程不同之处,本教程的主要特点有:1) 使用Git来记录学习过程:保存学习过程的进度,能够更好的互动;2) 本教程只提供了学习的大纲,需要自己找适合自己的教程,并自己设计学习进度和安排。

课程的主页是: https://gitee.com/pi-lab/learn_programming

The main purpose of this tutorial is to help you master programming quickly. Programming, English and mathematics are the three main keys to the future. Among them, programming is to make your dreams come true; English is to find the materials that lead to your dreams; and mathematics is the models and strategies that allow you to build paths. Therefore, it is suggested that all students need to build a solid foundation and overcome the problem of having grandiose aims but puny abilities. Programming is different from many other courses. It requires lots of practice, debug, introspection, and refactoring of code. Among them, various languages are relatively easy to learn, while algorithmic thinking is internal strength which is not easy to improve. The level of internal strength really determines a person’s programming ability. It is highly recommended that students who interested in machine learning and computer vision, do the programming exercises before starting the study of relevant professional knowledge.

Since most high performance required programs are still implemented through C++, it is necessary to learn C++. However, many more advanced and complex language features do not have to be learned at beginning, while they can be be learned after basic grammar and data structure have been masted. The learning stages and steps are divided into the following five stages, which can be studied and practiced with two or more contents at the same time, so as to improve the overall learning efficiency. This course have he following differences to other tutorials: 1) using Git to record the learning process: save the progress of the learning process which lead to better interaction; 2) this tutorial only provides an outline of learning, you need to find your own tutorials that suit you, and design your own learning schedule and arrangements.

The homepage of the course is: https://gitee.com/pi-lab/learn_programming



一步一步学SLAM - Learn SLAM


cover

SLAM的全称是Simultaneous Localization and Mapping,同时定位与地图构建,就是通过传感器(主要是激光和视觉等)通过扫描环境,构建环境地图并同时给自己定位。虽然经过了多年的发展,视觉SLAM取得了很大的进步,已逐步从实验室走向了应用,但是视觉SLAM仍然面临很多的挑战,例如动态环境下如何鲁棒地重建环境、如何实现语义地图、如何实现人类的认知方式完成精密三维重建等等。

本教程的主要目的是帮助大家快速掌握SLAM的原理、编程、以及应用。SLAM的实现是一类复杂的程序,包括数学、数值计算与优化、操作系统、多线程、C++、STL、C++11、CMake、大量第三方库等等,因此通过学习SLAM能够掌握复杂软件系统的编写、设计等高级技巧,有了这些能力与技巧后续做其他项目就会非常简单。因此学习SLAM对综合能力的提升有着非常显著的作用。希望大家能够脚踏实地、一步一步去学习。

课程的主页是: https://gitee.com/pi-lab/learn_slam

SLAM (Simultaneous Localization and Mapping) is to scan the environment through sensors (mainly laser and vision, etc.) for building environment map and locating itself at the same time. Although decades of development, visual SLAM has made great progress and has gradually applied in various fields, there still exists many challenges, such as how to reconstruct the environment robustly in dynamic environment, how to realize semantic map, how to realize human cognitive style to complete precise 3D reconstruction, and so on.

The main purpose of this course is to help you quickly master the theory, programming, and application of SLAM. The implementation of SLAM is a kind of complex programs, including mathematics, numerical calculation and optimization, operating system, multi-threading, C++, STL, C++ std 11, CMake, lots of third-party libraries, etc. Therefore, through learning SLAM, you can master complex software system writing, design and other advanced skills, which will make it is easy to do other projects. As a consequence, learning SLAM plays a very significant role for the improvement of comprehensive ability.

The homepage of the course is: https://gitee.com/pi-lab/learn_slam



90分钟学Python - Learn Python in 90min


cover

Python 是一门上手简单、功能强大、通用型的脚本编程语言。Python 类库极其丰富,这使得 Python 几乎无所不能,网站开发、软件开发、大数据分析、网络爬虫、机器学习等都不在话下。Python最主要的优点是使用人类的思考方式来编写程序,大多数情况下使用封装好的库能够快速完成给定的任务,虽然执行的效率不一定很高,但是极大的缩短了程序设计、编写、调试的时间,因此非常适合快速学习、尝试、试错。

由于Python强大的功能与易用的特性,因此非常适合开发机器学习的程序,建议各位同学认真学习Python编程。不仅仅学会Python,而且还需要刻意学习如何在很短的时间内掌握一个新的技能。

Python is a simple, powerful and universal scripting language. Python has various libraries, which makes it suitable for website development, software development, big data analysis, web crawlers, machine learning and so on. The main advantage of Python is writing programs using human way of thinking. In most cases, encapsulated libraries can be used to quickly complete a given task. Although the execution efficiency is not necessarily very high, it greatly shortens the time of program design, writing and debugging, so it is very suitable for rapid learning, trial and error.

Because of the powerful functions and easy-to-use features of Python, it is very suitable for the development of machine learning programs. I suggest you learn Python programming. Not only to learn Python, but you also need to learn how to master a new skill quickly.



智能系统实验室入门(暑期)课程 - PI-Lab Summer Camp


cover

本实验室致力于研究面向无人装备的机器学习和计算机视觉方法,该研究需要比较多的背景知识、技能,仅仅依靠大家自学,学习速度已经远远满足不了研究能力的要求。从个人的学习过程分析,学习可以分成两类,第一类是听别人的讲解,被动的接收知识;第二类是,通过自己的理解,把知识讲授给其他人,这样的学习是主动式学习。本课程主要的特点是让学生在学习过程扮演两种角色,每位学生准备一部分教程,同时也听别的同学讲解其他教程,通过这样的学习过程,让各位同学快速掌握大量的知识,可能学的过程比较快并没有掌握,但是通过这样的学习能够知道那些知识去哪里找,知识的特点是什么,怎么快速应用等等。课程的主页是: https://gitee.com/pi-lab/SummerCamp

课程针对各位学员,有针对性地提升以下能力:

本课程与传统的课程有很大的不同之处在于需要认真的完成相应的作业才能有效的提高分析问题、分解问题、解决问题,编程,Debug等多方面的能力。课程作业的网址: https://gitee.com/pi-lab/SummerCampHomework

Our laboratory focus on the research of machine learning and computer vision methods for unmanned equipment. This research field requires strong background knowledge and skills. Traditional self learning can not meet the requirements for the research. The learning procedure can be divided into two categories: the first is to listen to others’ explanation and receive knowledge passively; the second is to teach knowledge to others through their own understanding, which is active learning. The main feature of this course is to let students play two roles in the learning process. Each student prepares some tutorials and listens to other students to explain other tutorials. Through this learning process, students can quickly master most of the specified knowledge. Maybe someone can not mast all knowledge well, but they know where to find detailed explanation, what are the characteristics of the knowledge, and how to apply it quickly, and so on. The home page of the course is: https://gitee.com/pi-lab/SummerCamp

The course is aimed to improve the following abilities:

The difference between this course and the traditional course is that the home work need to be finished for improving the capability of problem analysis, problem decomposition, problem solving, programming, Debug and so on. Website for course home is: https://gitee.com/pi-lab/SummerCampHomework



如何研究- How to Do Research


cover

研究生阶段的学习、研究是人生中重要的一个提升能力的阶段,在这段时间通过开展一个研究课题学会如何去学习知识、如何去思考问题、如何分解问题、如何解决问题、如何评估问题、如何总结工作等等,通过综合练习达到批判性思维、系统性思维等多种思维、工作方法的培养,从而为后续的工作奠定能力基础。希望大家能够认真思考、主动去做,真真切切在这段宝贵的时间达到自己的目标。

本课程主要包含的内容有:研究的心法、研究计划、论文写作、思维工作方法等内容。

更多详细的内容请访问课程在线地址 《如何研究》

Postgraduate study and research is an important stage of ability improvement in you life. During this period, through carrying out a research project to master how to learn knowledge, how to think about problems, how to decompose problems, how to solve problems, how to evaluate problems, how to introduce your work, and so on. Through comprehensive practice to achieve critical thinking, systematic thinking and other working methods. Therefore, it is important for everyone can seriously think about the methodology, working hard to following your heart. And finally achieve your goal.

The main contents of this course are: methodology, research plan, paper writing, thinking/working methods and so on. For more details, please visit the online address of the course: 《How to Do Research》



学习成功之道 - Tao for Success


cover

学习不仅仅是时间的积累,不仅仅是学会了一些知识、技能,更多的是学会让大脑思考,在学习过程不断改造自己的思想、认识、格局。请仔细看下面的教程并不多反思、总结学习、思考的方法。

更多详细的内容请访问课程在线地址 《学习成功之道》



智能图像图形处理 - Intelligent Image and Graphics Processing


cover

本课程介绍了图形和图像机器学习的基本原理和方法,以及在无人机智能导航和制导中的应用。主要内容包括机器学习、最优推理模型,机器学习在分割中的应用,图形和图像的目标识别/跟踪/分类,以及三维重建等,并举例说明方法和理论在解决实际问题中的应用。本课程的包括理论学习、系统设计讨论和应用与实验。

This course introduces the basic principles and methods of machine learning for graphics and images, the applications for intelligent navigation and guidance of unmanned aerial vehicle. The main contents include models of machine learning, learning, and optimal inference, application of machine learning for segmentation, target identification/tracking/classification for graphics and images, and 3D reconstruction, etc. In addition, examples are provided for better understanding the application of method and theory to solve practical problems. The teaching methods of this course include theoretical teaching, discussion of system design and experiments.



视觉SLAM与RTMapper - Visual SLAM and RTMapper


cover

本专题课程介绍视觉SLAM和RTMapper(实时地图)。第一部分简要介绍了本研究的背景和基本原理。第二部分介绍了最新研究工作,包括RTMapper、无人机/机器人平台、MapFusion、基于深度学习的自动数据处理。最后一部分讨论了该领域的问题和未来的研究方向。

课程的各个版本与资料:

This special course introduces visual SLAM and RTMapper (realtime mapper). The first section gives a brief introduction of research background and basic principle. The second section introduces our recent research works, including RTMapper, UAV/Robot platform, MapFusion, Deep Learning based automatic data processing. The last part discusses limitations and future works for this field.

The slide of this course can be downloaded at:



视觉SLAM与应用 - Visual SLAM and Applications


cover

本专题课程介绍可视化SLAM及其应用。第一部分简要介绍了本研究的背景和基本原理。第二部分介绍了研究工作,包括实时地图生成、半直接跟踪测绘和场景识别。最后一部分讨论了该领域的问题和未来的研究方向。本课程的资料可以在下面网址下载得到: http://www.adv-ci.com/download/VisualSLAM_Applications.pdf

This special course introduces visual SLAM and applications. The first section gives a brief introduction of research background and basic principle. The second section introduces our recent research works, including real-time mapping, semi-direct tracking and mapping, and place recognition. The last part discusses limitations and future works for this field. The slide of this course can be downloaded at: http://www.adv-ci.com/download/VisualSLAM_Applications.pdf