2021年计算机视觉工程师学习路线

共 5593字,需浏览 12分钟

 ·

2021-04-19 16:50

点击上方AI算法与图像处理”,选择加"星标"或“置顶”

重磅干货,第一时间送达

如何才能成为一名专业的计算机视觉工程师呢,尤其是相对于过去,进入机器学习行业的步骤和策略在短时间内发生了巨大的变化。
人工智能以创新的速度前进
你可能不会对ML行业不断变化的本质感到惊讶,因为你很清楚人工智能是以创新的速度发展的。对于大多数ML从业者来说,在2020年获得职位所用的方法,在2021年可能不一定起作用。我们都需要适应。
本文将介绍八种你可以探索和使用的方法,现在就开始你成为一名计算机视觉工程师的道路。

1. 大规模在线开放课程(MOOC)

MOOC海报,2013年4月4日,由Mathieu Plourde在Flickr上授权CC-by制作,探讨了“大规模开放在线课程”即MOOC的含义
MOOCs是2008年推出的一种现代学习工具,目前是数据科学家和机器学习从业者获得领域专业知识的首选方法,通常伴随着公认的认证和证书。
在大多数情况下,mooc要比通过学术机构和大学学习的传统方法便宜得多。通过折扣项目为学生提供经济支持的mooc课程并不少见。
mooc相对于学术机构的另一个优势是,它可以灵活地在适合自己的时间参加课程、在线课程和考试,而不是采用紧凑的时间表结构和设置考试时间分配。
“教育并不是要放羊。教育就是帮助每个学生成功。”——Andrew Ng
互联网上有大量与计算机视觉相关的mooc课程;你可能面临的主要障碍是选择适合你的在线课程。
建议在开始阶段就观察求职者的技能和技术要求,然后再选择合适的在线课程。
以下是一些MOOC的链接:
  • 成为计算机视觉专家
    • https://www.udacity.com/course/computer-vision-nanodegree--nd891
  • 深度学习专业化
    • https://www.coursera.org/specializations/deep-learning
  • 基于TensorFlow的高级计算机视觉
    • https://www.coursera.org/learn/advanced-computer-vision-with-tensorflow
  • TensorFlow深度学习简介
    • https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187
  • DeepLearning AI TensorFlow开发者专业证书
    • https://www.coursera.org/professional-certificates/tensorflow-in-practice
  • 计算机视觉概论
    • https://www.udacity.com/course/introduction-to-computer-vision--ud810
  • 计算机视觉基础
    • https://www.coursera.org/learn/computer-vision-basics
  • 编码员的实用深度学习
    • https://course.fast.ai/
有很多mooc课程,但在搜索时,要考虑以下因素:工作相关性、技术需求、时间长度、课程回顾和成本。
mooc不仅仅针对初学者,经验丰富的ML从业者和深度学习工程师在特定的计算机视觉相关主题上也会学习中级和高级mooc,以提高技能或获得领域专业知识。
2021年,速度、适用性和实用性是ML从业者关注的重点。为了从一个机器学习的学生过渡到一个专业人士,选择mooc来关注ML的实践方面而不是大学里教授的理论内容可以节省时间和成本。
请注意,在大学攻读高级学位有好处,在做出职业生涯决定之前,你应该进行自己的深入研究。

2. 机器学习库与框架

计算机视觉作为一个领域,包含了许多方法和技术来解决常见的CV问题,如目标检测,人脸识别,姿态估计等。
你通常不需要重新造轮子或开发新的算法来解决琐碎的计算机视觉任务(除非你在研究领域工作)。你在学习和职业生涯中使用的许多工具都可以通过ML库和框架获得。
ML库和框架为ML从业者提供了一套工具,供他们实现、训练、测试和部署计算机视觉解决方案。有流行的工具和库,如TensorFlow和PyTorch,还有FastAI、Caffe2、Keras、Scikit Learn、MXnet、Darknet等。
ML行业似乎已经将TensorFlow(Keras)和PyTorch作为行业标准。作为一名计算机视觉工程师,我广泛使用TensorFlow平台为不同的环境开发ML模型。
下面是一个典型的清单,你可以在学习ML库时用作指南:
  • 加载结构化的数据集以进行训练
  • 预处理各种形式的数据集(文本、图像、数字)
  • 执行数据扩充
  • 从头开始实现一个神经网络
  • 从头开始实现深度神经网络
  • 实现网络的自定义训练过程
  • 使用各种网络架构执行图像分类
  • 加载模型以进行迁移学习
  • 从零开始实现神经网络中的自定义层、dropout层和公共层
  • 培养深度学习模式
  • 用TensorBoard监控训练过程
  • 保存并加载经过训练的模型。
注意:上面的列表并没有包含你需要知道的全部内容,事实上,我怀疑已经触及了你应该涵盖的内容的20%,以确保你准备好成为一名专业CV工程师的角色。尽管如此,上面的列表只是一个指南,你可以随意添加和修改上面的列表。

3. 读书

要在2021年及以后成为一名计算机视觉工程师,你必须参考实用的机器学习和计算机视觉书籍作为学习资源。
计算机视觉工程师从不停止学习,主要是因为人工智能领域每天都在进步。
在保持职业生涯的同时,遇到与学生学习水平相同的ML从业者是很常见的,他们仍然需要阅读书籍、博客、研究论文和文章,以确保不会落后于ML行业。
对CV工程师最强烈推荐的一本书是Aurélien Géron的Scikit Learn、Keras和TensorFlow的机器学习手册。这本书适用于所有ML从业者,从数据科学家到NLP工程师。
使用Scikit Learn、Keras和TensorFlow进行机器学习
以明确地让你明白,阅读实用书籍应该是你持续的个人学习策略的一部分。
假设你找到了你所选领域中你可能缺乏专业知识的特定领域,无论是数学、统计学、编程还是算法。在这种情况下,有很多实用的书籍易于学习,并且对所有级别的ML实践者都有效。

4. 云服务

计算机视觉工程师应该了解云服务吗?
是的,但你不需要成为专家,有云和数据工程师,他们的唯一责任是专门从事云解决方案和服务。
尽管如此,CV工程师了解如何在GCP、microsoftazure和AWS等云服务上运行机器学习模型是必不可少的。
以下是CV工程师应该理解和使用云服务的一些原因:
  1. 计算资源可用性。训练深度学习模型可能成本高昂,尤其是如果你必须购买价值数千美元的工作站和机器。云服务提供不同计算规范的gpu,用于运行特定的作业。这些计算机资源按小时收费。
  2. 远程访问共享工作区。大多数团队利用在线开发环境的云服务来确保每个团队成员都可以访问远程工作区和资源。
  3. 现成的解决方案和经过训练的模型
  4. 通过API等为机器学习模型提供服务的平台
使用云服务可能会让人望而生畏,有时成本会出乎意料——尤其是当你忘记关闭实例时。拥有云服务的知识确实会让你在这个行业的CV工程师中具有一定的优势。

5. 所获证书

指的不是参加在线课程时获得的证书或认证。提供给ML从业者的认证可以展示特定库、云服务和框架内的专业知识。
TensorFlow、AWS和GCP都是在本文中提到的工具和资源。另一条信息是,提供这些工具和服务的公司和组织也会颁发认可的证书。
几年前拥有一个具有高级学位的档案袋足以确保ML角色。随着ML从业人员的涌入,似乎有可能看到用证书来筛选招聘人员和雇主候选人的名单。
以下是与ML从业者相关的认证列表:
  • TensorFlow开发人员证书
    • https://www.tensorflow.org/certificate
  • Google Cloud ML工程师证书
    • https://cloud.google.com/certification/machine-learning-engineer
  • AWS认证的机器学习专家
    • https://aws.amazon.com/certification/certified-machine-learning-specialty/
  • Google Cloud专业数据工程师
    • https://cloud.google.com/certification/data-engineer
  • Google Cloud Associate Cloud Engineer
    • https://cloud.google.com/certification/cloud-engineer
  • DeepLearning.AI TensorFlow开发人员专业证书
    • https://www.coursera.org/professional-certificates/tensorflow-in-practice
从这一点开始,所包含的关于成为计算机视觉工程师的部分包含了明显的信息。不过,有些内容你会发现很有价值。

6. 深度学习

深度学习是一个利用深度人工神经网络来检测数据模式的领域。
计算机视觉工程师通常利用深度学习模型来解决CV任务。轻描淡写地说,CV工程师必须了解DL领域的基本概念和想法。
到2021年,深度学习将从主要使用卷积神经网络作为模型的构建块,转向最近引入的Transformer结构。
ML从业者很可能不需要了解如何实现和利用Transformer来完成计算机视觉任务-
ML从业者很可能不需要了解如何为计算机视觉任务实现和利用Transformer,因为这仍然是一个研究领域。
一些积极主动的ML从业者现在正在探索Transformer,并了解如何实现和应用它们。

7. 移动和边缘设备

Instagram、TikTok、YouTube、Facebook……这些都是拥有移动应用程序的公司,在这些公司中,你会发现ML模型以某种形式被利用。
在2021年,计算机视觉工程师必须了解能够在移动环境中开发和集成模型的工具和框架。
CV工程师应了解以下几个平台、工具和框架:
  • TensorFlow Lite
    • https://www.tensorflow.org/lite
  • 核心语言
    • https://developer.apple.com/documentation/coreml
  • 苹果视觉框架
    • https://developer.apple.com/documentation/vision
  • TensorFlow反应
    • https://blog.tensorflow.org/2020/02/tensorflowjs-for-react-native-is-here.html
  • 创建语言
    • https://developer.apple.com/machine-learning/create-ml/
对于理解计算机视觉和深度学习在移动环境中的应用,一个有用的学习资源是《针对云、移动和边缘的实用深度学习》:https://www.amazon.co.uk/Practical-Learning-Cloud-Mobile-Hands/dp/149203486X

8. 程序设计语言

任何形式的软件工程专业都要求至少了解一种编程语言。
通常,计算机视觉工程师精通Python。你很可能会发现,在大多数与机器学习相关的工作角色中,Python是最需要的编程语言。
到2021年,CV工程师将需要至少有一种语言的专业知识,并在两个或三个其他语言的中级水平。
究其原因,是因为深度学习模式在不同的平台和环境中得到了应用。这些环境中的每一个都利用其他核心编程语言来执行功能和操作。
我目前正在移动环境中集成深度学习模型,这要求我精通Python、JavaScript和Swift。在2021年,我将扩展我的编程语言技能,包括Kotlin和Java。
这里的诀窍是不要死记硬背一种语言中所有可用的语法,然后继续下一种语言。相反,理解面向对象编程的基本原理和大多数编程语言中使用的编码模式更为重要。

结论

对计算机视觉/深度学习工程师的需求很可能会随着更多面向相机的人工智能应用的采用而增加。
ML从业者学习成为CV工程师所需的内容可能非常多,但一旦你开始学习,完成一些MOOC,学习核心ML库,你会发现学习会变得更容易。
在这篇文章中,介绍了八种方法,你可以采取和行动今年成为CV工程师在2021年。总而言之,以下是总结列表:
  1. 参加在线课程以获得专业知识或提高知识。
  2. 使用机器库和框架。
  3. 阅读实用的ML/DL书籍
  4. 了解云服务,如GCP、AWS等
  5. 考虑获得某些工具和库的认证
  6. 了解深度学习基础
  7. 学习能够在移动环境中集成深度学习模型的工具、库和框架。
  8. 了解编程模式和原理,如面向对象编程。
个人微信(如果没有备注不拉群!
请注明:地区+学校/企业+研究方向+昵称



下载1:何恺明顶会分享


AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析


下载2:终身受益的编程指南:Google编程风格指南


AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!



下载3 CVPR2021

AI算法与图像处公众号后台回复:CVPR即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文

点亮 ,告诉大家你也在看


浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报