0
点赞
收藏
分享

微信扫一扫

一个狠招|如何高效学习3D视觉

有的读者可能对于计算机视觉中2D和3D视觉的区别仍然较为模糊,此处根据某篇论文中的解释,介绍如下:


2D视觉包含:目标检测、人脸识别、图像分割,侧重于图像处理等技术。


3D视觉是近几年的热门领域,主要包含三维感知、SLAM、三维重建和三维理解等研究方向。


近期,有师妹、师弟,以及之前的同事私下里问我计算机3D视觉该如何入门?(仅仅是因为笔者一直在研究3D视觉吧,不然怎么可能会问我呢

一个狠招|如何高效学习3D视觉_计算机视觉

)


之前一直忙于工作,都没有好好回答这个问题。今天笔者诚惶诚恐地结合自己的经历,以及由原先的机器视觉转向VSLAM过程中的一点思考,与大家简单聊一聊。


首先,简单从我自己的一些经历开始说起。


我开始的第一个图像处理的项目,是在老师的指导下,开始研究椭圆中心检测的算法。


那时候,跌跌撞撞地一路摸索着前行,只有一点大学时候选修过的C语言的基础,关于图像与C++的基础几乎为零。原本大学所修专业是机械呀,怎么现在却要和计算机视觉杠上了呢?


既然任务已经布置下来了...


那就硬着头皮干吧,总归要能让自己顺利毕业哇,不然岂不是要让村里人笑话了。


于是,开始学习安装Visual Studio,开始手撕C++,开始找各种渠道下载论文,为此,还总结过一篇文章《​​那些你所不知道的文献下载网址经验总结》​​,开始学习图像处理、开始接触卡尔曼滤波、粒子滤波,开始研究相机标定、目标跟踪,期间遇到问题,便会及时与老师及实验室的师兄们讨论交流。

一个狠招|如何高效学习3D视觉_3d_02


研究生毕业时,在老师与师兄弟们的协助下,完成了光笔系统的开发,参见​​《立体视觉动态测量技术》​​,不知不觉中,对三维视觉的认知与好感度越来越强烈。


工作之后,有幸仍在3D视觉行业中找了份差事,开始接触手眼标定、结构光标定与三维成像,也开始接触点云后处理。

一个狠招|如何高效学习3D视觉_机器视觉_03

在团队的努力下,第一代3D相机产品在18年底落地,参见《3D  Scanner相机:为工业机器人装上“火眼金睛”》,3D视觉带给我的更多的是快乐。


现在的我开始接触VSLAM产品的开发,VSLAM对算法以及编程能力的要求更加彻底,尤其最近进行并行化编程,对代码能力又提出了新的要求。


之前一直还在怀疑自己从机器视觉转向VSLAM,会不会由于知识点变化太大而极难入门?会不会因为windows系统切换为ubuntu系统而导致编程实现有困难?


经过这一个多月的学习,以及对高翔《视觉SLAM》十四讲的理解,发现机器视觉与VSLAM存在着很多共通的地方,比如1)都会涉及点云模块;2)都可以基于OpenCV开发;3)C\C++编程;4)GPU加速;5)相机标定等。


所以,归根结底,无论是机器视觉还是VSLAM,都是计算机视觉的一种应用,唯一的较大区别是两者对于测量精度要求稍有区别而已。


回到正题,那么我们如何高效地学习3D视觉技术呢?


笔者总结的方法如下(针对一般学习者):

1、以视觉项目为导向。

《林肯传》中讲述林肯的学习方法的精髓便是,不会为了学习而学习,学习要带着问题出发,这样才能事半功倍。


2、找到一些志同道合的小伙伴。

一个人学习总是容易会放弃,遇到问题,及时请教与沟通,会让自己节省很多入坑的时间。


3、充分利用业余时间给自己充电

目前,对于3D视觉,很多平台都开设有专门的课程,比如小象学院、深蓝学院等,不过这些平台的费用一般都较为昂贵。


4、反复研读经典书籍。

比如《Learning OpenCV》、冈萨雷斯的《数字图像处理》等。


5、及时关注最新的CVPR等国际会议中的计算机视觉相关的论文。



一个狠招|如何高效学习3D视觉_机器视觉_04


举报

相关推荐

0 条评论