机器视觉新手应该如何学习?
首先机器视觉是一个很大的领域,近几年比较火的话肯定是要和机器视觉学习尤其是深度学习挂钩的,所以有必要首先明确自己的大方向。
然后是代码能力。传统的图像处理是离不开C++的,对于C++的学习,我觉得是一个仁者见仁智者见智的问题,毕竟C++是永远学不完呢。讲一下我的经验,C++ primer是一定要通读至少一遍的,我本科是学过C++的,但是读了这本书之后感觉就像是白学了一样。之后可以选择性地读一下effective三部曲(effective c++, more effective c++, effective stl)以及比较新的effective modern c++,对于实际工程能力会有比较大的提升。此外就是python了,作为人工智能时代的第一语言,目前来说,做计算机视觉是肯定离不开的,推荐一下廖雪峰大大的教程,很详细,对于有C++或者java基础的应该会上手很快。另外,linux最好要用熟。
同时在这一阶段可以熟悉下opencv(其实我现在已经很少用到),跑跑demo什么的,网上这种东西是很多的。我记得我那个时候跑过人脸识别,车牌识别,感觉很有意思。opencv的话c++,python都是可以的玩的。此外,我大四的时候学过一门叫数字图像处理的课,讲的就是冈萨雷斯很经典的那本书,对于一些传统问题有一个比较宏观的了解。
机器视觉学习算法方面的话可能就要取决于你的大方向了,因为我是做DL的,传统的机器学习算法也经常用到。对于机器学习算法的入门,网上有很多参考,西瓜书,andrew的视频,统计学习方法,都很不错。我的观点是基础理论的东西不能光看,一定要去实践,把一些常用的算法亲手实践一下,肯定是没有错的。
单单针对深度学习的话,其实现在门槛已经很低的,稍微找两篇博客看一看可能都可以入门,大概唯一的门槛就是gpu了。
到这里可能大方向入门就差不多了,剩下的就要看你具体的科研方向了。