的个人主页 http://faculty.dlut.edu.cn/yexinchen/zh_CN/index.htm
作为欲以计算机视觉和深度学习为学习核心的本科生,事先要自行学习这方面的知识,尽可能掌握基础知识。如果可能,还可以参与科研项目和发表科研论文。以下为如何最快掌握基本知识,以便达到可以进入实验室和老师一起做科研的要求。
拟学习的知识主要分为三个方面:
1) 编程能力。主要三种语言:matlab,python,C/C++。这三种语言里,matlab最简单,而且非常的好用;缺点是matlab不开源,主要以科研为主,不适合找工作。C/C++ 大家在平时的课程中会学习到。Python为目前的主流编程语言,也很简单,无论科研还是工程上用的都很多。针对编程能力(主要是python),需要学生自行去锻炼。
2) 图像处理及计算机视觉方面:需要大家提前掌握一定的基础。推荐一些快速入门的方法:(1)首推opencv,它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。可以尝试同时用python接口来锻炼python语言。比如,《OpenCV3 编程入门》,图像处理方面讲的很棒,大家可以利用这本书来学习图像处理基础知识(学习opencv3也可以)。目前opencv更新到了4.5,所以也可以购买新的书籍跟着去学,其中包含图像的基本概念,图像的基本操作,直方图和灰度变换,图像平滑,相机标定等。(2)基于matlab的图像处理:《冈萨雷斯 数字图像处理(matlab版)》(重点前两章节,matlab的精髓以及图像基础都包含了,其他章节一般。感兴趣的可以看看)。
3) 机器学习和深度学习。机器学习是一门基础学科,是基础,所以也需要大家了解一些。深度学习是我们学习最终的目的。
针对机器学习,一定要看 Ng Andrew 的网课,大家自行去寻找,看看前几章就行了,有英文字幕,有课后作业。这个一定要看,讲的非常浅显好懂,而且够用! 如果想从python入手的话,推荐一本《机器学习实战》,看第1.2.5.6.8这几个最简单的章节就好了,别的太难不用看。
深度学习方面(重要)。最终我们就是选择某一种深度学习框架(就是别人开发好的工具)来完成科研: Pytorch (http://product.dangdang.com/25208778.html),这是目前主流的学习框架,需要非常有工程功底的,对代码不抵触的。推荐从Pytorch 学起(推荐材料:深度学习框架PyTorch入门玉实践)。
1)NG Andrew 的深度学习网课(https://mooc.study.163.com/smartSpec/detail/1001319001.htm,他同时有机器学习和深度学习的课程,有很多材料,自行去搜索),非常好,还有练习题,基于python的,可以通过这个掌握深度学习,在此之后就可以选择一个深度学习框架进行学习了。
2)Bilibili上台湾名师李宏毅的机器学习教程。这个老师讲的非常好,也是首推的,强烈推荐大家去看看,github上还能查到许多他的课程相应的材料。
3)可以参照“其他”栏目里的“组内学生从零深度学习”,这是研究生在学习过程中提供的一些材料,也可以作为参考。
基本完成以上内容,而且自己学着去用用深度学习框架,对计算机视觉和深度学习有初步掌握了(自己去查博客上网,很多地方都有讲深度学习的),再跟我去做一些科研相关的东西。如果做到跟深度学习相关的知识,想把控一下方向,可以提前来找我。(所有前面有关计算机视觉和图像处理,机器学习相关的都是些基础的东西,不要求全部掌握,做到心里有个大概的感觉其实就好了)