扫描手机二维码

欢迎您的访问
您是第 位访客

开通时间:..

最后更新时间:..

  • 叶昕辰 ( 副教授 )

    的个人主页 http://faculty.dlut.edu.cn/yexinchen/zh_CN/index.htm

  •   副教授   硕士生导师
  • 主要任职:IEEE member, ACM member
  • 其他任职:IEEE协会会员, ACM协会会员, CCF计算机协会会员
其他 当前位置: 中文主页 >> 其他
  • 研究领域——场景深度信息估计

     

          研究组的其中一个研究方向主要是围绕如何获取更加准确的场景距离信息,将获取到的二维平面图像三维化。关键问题在于,如何准确的获取或者估计出当前给定场景的深度信息(depth information)。

          从硬件方面来看,场景深度信息的获取可以分为两个方面:1)被动方式,即立体匹配,采用双目立体相机(两个摄像头并排摆放来模拟人类双眼)作为采集设备,然后利用立体匹配算法计算出双目视差,进而估算出深度值。2)主动方法,即利用深度传感器来直接获取深度值。最笨最早的方法采用激光煮点扫描的形式来获取距离(激光测距尺就是这种原理)。目前,典型的传感器有两类,一类叫做Time-of-flight(时间飞行)相机,另一类就是微软Kinect一代里面采用的结构光相机。(原理参考相关文献)

          上述两类方法虽然可以获取深度值,但是由于算法和硬件带来的问题,深度图像有大量得值缺失,而且精度不够。因此衍生出了第一类算法:深度超分辨率(深度复原,深度恢复,深度填充等),这也是我们所涉及的第一个块知识,即给定一个低质量的深度图像,如何复原出高质量深度图像。通常,给定的输入除了低质量分辨率的深度图外,还有同视角的彩色图像,可以借助于高分辨率的彩色图像来完成深度恢复。

          第二类方法叫做深度估计此。这类方法直接从彩色图估计出深度图像,没有辅助的低质量深度信息输入,任务对于推断精准的深度信息比较困难。此外,由于深度学习的出现,现阶段出现了另外几类的深度估计方法,根据输入图像类型以及监督学习方式可以分为以下几类:

    1)        单目监督学习方式:即给定单目摄像头进行视频流采集,然后直接从彩色图中估算出深度图。该方法需要利用配对的彩色-深度图像进行网络监督学习。

    2)        双目输入类型:该类别采用双目图像输入,根据监督类型又可分为以下两类:

    a)      监督方式:我们可以获得配对的深度图像,可以采用双目输入,深度输出的方式来训练当前的网络。

    b)     无监督方式,当前并不能获取到有效的深度监督信息,则利用双目立体视觉间的关系来训练整个网络,即采用无监督的方式。此类方法更加贴近于实际,现在研究的较多。

    以上内容需要大家逐渐掌握,从看下面的基础材料开始,慢慢步入到看论文。一个最主要的方法是自己查阅博客和去中国知网下载相关的中文博硕士论文,以便更好的理解。

     

    相关材料

    以下内容可能涉及的不全(重点针对相机标定和立体匹配,投影等等三维知识,也是基础必读!!我们最终目的是懂得双目立体视觉,涉及过深的数学算法可以不看),所以针对上述内容还需各位自行去查阅:

    1.重点推荐《学习OPENCV3》这本书里的18 相机模型与标定 553 19 投影与三维视觉 599,中文讲的非常好,也可以用opencv来练习,之前的版本也行,网上应该能找到。

    2. 我的博士毕业论文:(caj格式可以到cnki官网下载软件打开) 链接:https://pan.baidu.com/s/16__qAOxKCCBiZcvkhq_Txw 提取码:yhdc)注:我的博士论文是传统的数学建模方法,但是也需要大家去理解是怎么做的,看明白里边的算法(只看绪论和自回归模型那一章节即可)

    3. 张明亮的博士论文:重点讲解深度估计,可以以这个方向为重点。

    4. 段祥越的硕士论文,里面包含了深度估计和深度复原。

    5. 纪祥的硕士论文,里面包含了SLAM和深度学习的结合,难一些。(可以选读,对三维场景建模可以了解一些)

    6. http://www.vision.caltech.edu/bouguetj/calib_doc/

    上面这个是matlab的相机标定例子,里面讲的非常好,他是从opencv转过来的,但是比opencv更好。如果希望去学习matlab的同学可以试试,matlab还是比较好用的。

    7. 以下内容可以有选择性学习:

    计算器视觉(理论):

    链接:https://pan.baidu.com/s/1UAbfgT7_FNmwSu5S5MzcTw

    提取码:8h6x

    (目录:1.绪论2.边缘检测3.仿射变换与射影变换4.相机标定5.立体视觉6.运动与不确定性7.光流运动分析)

    博洛尼亚大学立体视觉pdf

    链接:https://pan.baidu.com/s/10MQJhYRT4wfF388t87J6Kg

    提取码:kh2i

    (英文pdf,专门讲解立体视觉,可以配合下面的内容辅助学习:

     

    立体匹配的研究背景,意义:

    https://blog.csdn.net/wangyaninglm/article/details/51533549

    视差,约束,方法,遮挡:

    https://blog.csdn.net/wangyaninglm/article/details/51531333

    相机模型与标定:

    https://www.jianshu.com/p/887dd060ea99

    双目标定与立体匹配:

    https://www.jianshu.com/p/6342eb4d9a63

    (一些双目和立体匹配问题的博客列表)

    https://blog.csdn.net/u010368556/category_6746705.html

    (双目匹配与视差计算)

    https://blog.csdn.net/u010025211/article/details/53197337

    (双目视觉标定的几个问题)

    https://blog.csdn.net/u010368556/article/details/57074680

    关于立体匹配的几个问题:

    链接:https://pan.baidu.com/s/1Y_qikW0xW9m8PING6gQuZw

    提取码:1qxi


  • 学习规划

                                                       

     

    作为欲以计算机视觉和深度学习为学习核心的本科生,事先要自行学习这方面的知识,尽可能掌握基础知识。如果可能,还可以发表科研论文。以下为如何最快掌握基本知识,以便达到可以进入实验室和老师一起做科研的要求。

    拟学习的知识主要分为三个方面:

    1)              编程能力。主要三种语言:matlabpythonC/C++。这三种语言里,matlab最简单,而且非常的好用;缺点是matlab不开源,主要以科研为主,不适合找工作。C/C++ 大家在平时的课程中会学习到。Python为目前的主流编程语言,也很简单,无论科研还是工程上用的都很多。针对编程能力(主要是python),需要学生自行去锻炼。

    2)              图像处理及计算机视觉方面:需要大家提前掌握一定的基础。推荐一些快速入门的方法:(1)基于matlab的图像处理:《冈萨雷斯 数字图像处理(matlab版)》(重点前两章节,matlab的精髓以及图像基础都包含了,其他章节一般。感兴趣的可以看看)。(2)针对C/C++语言,《OpenCV3 编程入门》,图像处理方面讲的很棒,大家可以利用这本书来学习图像处理基础知识。必读章节为 :前四章介绍OPENCV,基础必读!;第5章看前四节,第6章全部以及第7章第一节。3python方面没有推荐,大家可以自行找书学习。注意!!这方面知识尽快掌握为好,不需话大量时间学习。

        针对图像处理基础,我这里还有一些小的project,如果需要可以练习,也当作一种考核。

    3)             机器学习和深度学习。机器学习是一门基础学科,是基础,所以也需要大家了解一些。深度学习是我们学习最终的目的。

    针对机器学习,一定要看 Ng Andrew 的网课,https://www.coursera.org/learn/machine-learning/ 大家自行去寻找,看看前几章就行了,有英文字幕,有课后作业。这个一定要看,讲的非常浅显好懂,而且够用! 如果想从python入手的话,推荐一本《机器学习实战》,看第1.2.5.6.8这几个最简单的章节就好了,别的太难不用看。

    深度学习方面(重要)。最终我们就是选择某一种深度学习框架(就是别人开发好的工具)来完成科研: Tensorflow或者Pytorch  http://product.dangdang.com/25208778.html),这是目前主流的学习框架,需要非常有工程功底的,对代码不抵触的。推荐从Pytorch 学起(推荐材料:深度学习框架PyTorch入门玉实践)。对于深度学习用什么,科研做什么,同学们完成了前面几项我们再具体来定如何学习深度学习,因为选哪一个框架不是我们自己能定的,我们要看研究的方向的代码其他人都是用什么写的。(大家可以实现去网上搜搜,自己心里先有个概念)

    https://mooc.study.163.com/smartSpec/detail/1001319001.htm这是NG的深度学习网课,非常好,还有练习题,基于python的,可以通过这个掌握深度学习,在此之后就可以选择一个深度学习框架进行学习了。

    再推荐两本比较实用的书:1)魏秀参的解析深度学习,这本书内容比较入门,而且更加集中。2)邱锡鹏的神经网路与深度学习,这本书内容更加全面,更适合需要在机器学习和深度学习领域了解更多的同学。

     

     

    基本完成以上内容,而且自己学着去用用深度学习框架,对深度学习有初步掌握了(自己去查博客上网,很多地方都有讲深度学习的),再跟我去做一些科研相关的东西。如果做到跟深度学习相关的知识,想把控一下方向,可以提前来找我。(所有前面有关计算机视觉和图像处理,机器学习相关的都是些基础的东西,不要求全部掌握,做到心里有个大概的感觉其实就好了)

     



辽ICP备05001357号 地址:中国·辽宁省大连市甘井子区凌工路2号 邮编:116024
版权所有:大连理工大学