「成长指南」大佬是怎样炼成的

图像处理算法工程师职位要求

编程技能:
1、 具有较强的编程能力和良好的编程习惯, 精通c/c++编程,并熟练使用VS 或matlab开发环境;
2、 在计算机技术领域拥有扎实的技术功底,尤其在数据结构、算法和代码、软件设计方面功力深厚; 对数据结构有一定的研究基础如链表、堆杖、树等,熟悉数据库编程;
3、 出色的算法分析能力,对某一特定算法可以做广泛的综述,有实际算法实现经验;
4、 熟悉面向对象编程思想,精于windows下的C/C++、VC++程序设计,熟悉MATLAB,对MFC有相对的了解和应用经验;

专业技能:
1、扎实的数学功底和分析技能,精通计算机视觉中的数学方法;

 高等数学(微积分)、线性代数(矩阵论)、随机过程、概率论、

 摄影几何、模型估计、数理统计、张量代数、数据挖掘、数值分析等;

2、具备模式识别、图像处理、机器视觉、信号处理和人工智能等基础知识;

 对图像特征、机器学习有深刻认识与理解;

3、精通图像处理基本概念和常用算法包括图像预处理算法和高级处理算法;

 常见的图像处理算法,包括增强、分割、复原、形态学处理等; 
 熟悉常见的模式识别算法,特别是基于图像的模式识别算法,掌握特征提取、特征统计和分类器设计; 

4、熟练使用OpenCV、Matlab、Halcon中的一种或一种以上工具库;

5、熟悉机器视觉系统的硬体选型,包括CCD相机,镜头及光源;熟悉相机与镜头搭配;

外语:

  1. 英文熟练,能够熟练阅读和理解专业英文资料,有英文文献检索和阅读能力;
  2. 良好的英语沟通能力

综合能力:

1.对工作认真负责,积极主动,勤奋踏实;

2.做事严谨,注重细节,有耐心,能够在压力下独立工作;

3.学习钻研能力强,有较强的理解能力和逻辑思维能力和良好的创新意识;

4.良好的协调沟通能力和团队合作精神;

经验要求:

1.两年以上C/C++ 程序设计经验;

2.具有2年以上在Linux/Unix环境下用C/C++语言开发图像处理软件的经验。

3.数字图像处理、模式识别的理论知识和实践经验;

有基于OpenCV开发项目经验,机器视觉行业经验;

具有图像处理算法设计和开发经验;

参与过机器视觉系统分析和设计;

  1. 在Matlab 或其它数学软件上开发算法的经验;

视觉算法经验:请提供实现的算法列表

目标识别、图像配准、三维测量、标定和重建、手势识别; 

表面缺陷检测;尺寸测量;特征识别;

图像去噪、滤波、融合算法
3A算法:如自动曝光、自动对焦、自动白平衡

【工作内容】:

1.为解决实际问题而进行探索性研究和创新,设计与模式识别、图像/视频智能分析处理相关的算法。

图形图像处理、计算机视觉相关算法的研发以及应用程序的编写;

参与核心软件项目算法设计及算法实现;研究图像处理算法,开发和调试算法原型

软件算法研发:算法的代码实现、优化以及移植及其测试;

负责机器视觉系统图象处理、分析及识别算法的设计、实现及调试;

参与图象算法视觉应用软件的设计与实现。参与图象处理技术研究与设计;

2、对已有的计算机视觉算法进行实用化开发和优化研究;
精益求精,将算法做到极致,使算法真正实用化;

参与预研性的算法分析和论证,为产品开发提供基础研究及论证;

岗位职责:

1、 协助工程师进行算法的测试.;C++语言验证、测试算法;
2、编写算法规格说明;
3、相关专业文献的查阅;
4、将部分matlab程序转为C或C++语言程序。

1) 辅助图像处理工作
2) 大规模图像搜集与分类
3) 与开发人员等进行沟通,跟踪产品的体验效果并改进;
4)负责公司的机器视觉与传感器项目的技术支持(如项目可行性评估、现场DEMO、装机、培训等)

和 维护工作;

岗位职责:

1、负责计算机视觉中的图像采集,处理面阵和线扫描相机的成像和控制 ;
2、针对特定的计算机视觉问题,设计目标识别与快速定位与检测算法的实现,并进行优化;
3、对彩色图像和灰度图像实现物体表面的污点划痕检测算法设计和实现;
4、处理三维物体表面数据获取和实现三维测量算法的实现;
5、处理点激光和线激光源的成像,散斑噪声滤波和轮廓检测;
6、负责算法与软件GUI开发工程师接口;

图像算法工程师三重境界

一、传统图像算法工程师:
主要涉及图形处理,包括形态学、图像质量、相机成像之3A算法、去雾处理、颜色空间转换、滤镜等,主要在安防公司或者机器视觉领域,包括缺陷检测;

二、现代图像算法工程师:
涉及模式识别,主要表现的经验为Adaboost、SVM的研究与应用,特征选取与提取,包括智能驾驶的研究与应用、行人检测、人脸识别;

三、人工智能时代图像算法工程师:
深度学习,主要在大型互联网公司或者研究所机构,具体体现在TensorFlow等开源库的研究与应用,包括机器人的研、基于深度学习的人脸识别;

理论基础

1)opencv。无论以后是否使用opencv,咱先用着玩起来。找本书跟着写写demo,然后自己做点小应用,虽然一直在调用api但是大概知道图像处理是个什么玩意儿。(当然期间配合着可以学学C++或者Python)
2)冈萨雷斯的数字图像处理 + opencv部分源码。调了这么久的api,是不是已经欲求不满了?所以我们开始研究算法吧,这时候对于一些常用的函数,我们可以去看看对应的实现,以及在理论上到底是个什么意思,为什么需要这样。记住是opencv的部分源码,不是让你去通看,看着看着就没兴趣了,而且也迷失了方向。
3)数学。 对于算法走到后来就是很多数学的东西,对于这些我推荐的还是差哪儿补哪儿,哪儿不懂学哪儿。而不是抱着几门公开课,厚厚的书啃,这样就又迷失方向了,记住我们是要学图像处理的。
4)项目实践。这个不用多说,找点实际问题去解决会进步很快哦。
当这儿,我们已经对图像处理有了一个熟悉感了,但是可能会觉得有些杂,这时候就是静下来系统的看看冈萨雷斯那本书了,慢慢的就会有一种通透的感觉。(我也没达到通透。。。)
以上就是传统图像处理算法的路子了。现在还有很火的 机器学习和深度学习 做图像处理的。大概路子差不多,学的东西不太一样。
1)Keras/Caffe/Tensorflow/Mxnet等等 深度学习库或者scikit-learn 机器学习库。语言推荐python,深入底层后也需要C++。DL库强烈推荐Keras上手,非常快。
2)深度学习方面的书比较少,主要还是以 论文 为主吧,多看总有益。机器学习的书籍:国内:《统计学习方法》(满满的干货),周志华的《机器学习》,国外的《An Introduction to Statistical Learning 》《ESL》《PRML》等等,当然看英文的可能比较辛苦。
3)因为这方面比较火,所以网上公开课也不少。Ng大神的《Machine Learning》,林轩田的《机器学习基石》《机器学习技法》,HInton的《Neural Network for Machine Learning》,任选其一学习即可,英文稍差可以看林轩田的,台湾人,说的是中文。
4)数学。线性代数,矩阵论,概率论,数理统计都会用到的。学习方法还是如上所说。
5)学ML/DL切忌纸上谈兵,多实践。网上找点数据集,各种模型自己跑跑试试,改改,这样才能理解透彻。

posted @ 2017-12-06 14:15  谷阿幻  阅读(173)  评论(0编辑  收藏  举报