图像算法工程师 转行之路
传统图像 + 深度学习图像 + 语言工具 + 光学基础知识
1、图像处理的基础:冈萨雷斯的《数字图像处理》这本书必看。里面算法虽然老,但是还是很实用的。搭配它拍套的《数字图像处理的Matlab实现》方便Matlab实现。
2、机器学习相关的,机器学习的常用算法最好都知道,推荐周志华的书《机器学习》,还有吴恩达的机器学习视频,b站上随便一搜就应该有了。我学习的时候还看了唐宇迪的各种深度学习、tensorflow教程。反正这种教程网易云课堂啊、b站啊、慕课啊、某宝上都能找到很多。跟着人家视频边学边写写代码。一般这种代码用Python写比较常见,Python常用的库都会在视频中学到,包括NumPy、Scipy、Pandas、Matplotlib、Seaborn、Sklearn等。常见的机器学习算法可能很多也用不到图像,但是最好知道。后面侧重图像的主要都是深度网络了,学习各种Net,图像的分类、识别、探测、分割等等。中间会在教程中学到Tensorflow、PyTorch这种深度学习框架。跟着视频肯定会自己训练一些深度学习网络的。
3、图像算法最后的实现大都是在硬件上,比如手机、相机。所以要学C/C++,最好能学好C++,这个感觉入门容易,精通难。因为Python用库比较方便,机器学习常用,所以Python要会,本身也不难。最后还有Matlab最好也会,处理一点简单的图像算法用起来超方便,也非常简单。还有就是数据结构这门课,在实际项目中,非常有必要。
4、最后,就是关于图像获取过程的了解。如果光学出身的话就是非常优势的,因为计算机的门槛变得越来越低,但是光学的门槛并不低。计算机的人才也太多了,所以光学的话要抓住优势。首先是几何光学(工程光学),这个是必须的。如果是光学出身,一定要从原理上搞清楚成像过程中的各种概念以及之间的关系:光圈、焦距、视场、数值孔径、各种像差等摄影中出现频率很高的词汇。然后就是色度学,色彩要了解一下。再复杂的就是波动光学的知识了,比如物理光学、傅里叶光学(信息光学),尤其是对衍射的理解。因为一些照片的现象是波动光学的体现。比如紫边、星芒。最后学有余力可以看看光电技术,它详细讲解了传感器的原理构造,对于原生图像的转化以及图像去噪等都会有很大帮助。最后,如果不是光学出身想学这一块的话,可以买个单反微单玩玩学学摄影,后期学习PS,有精力有兴趣再看看上面光学相关的书。
总结一下需要学的:
冈萨雷斯的《数字图像处理》
周志华《机器学习》
吴恩达的机器学习视频、唐宇迪的各种教程
C++、Python、Matlab、数据结构
几何光学、色度学、傅里叶光学、光电技术
有兴趣的话可以买个单反或者微单玩玩,后期修修图
加油!
我也还没正式工作,也只是自己的体会,还望大家多多批评指正。