如何才能成为一名专业的计算机视觉工程师呢,尤其是相对于过去,进入机器学习行业的步骤和策略在短时间内发生了巨大的变化。

人工智能以创新的速度前进

你可能不会对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. 了解编程模式和原理,如面向对象编程。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

2021年计算机视觉工程师学习路线相关推荐

  1. 计算机视觉工程师学习路线

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 如何才能成为一名专业的计算机视觉工程师呢,尤其是相对于过去,进入机 ...

  2. 成都两年JAVA工程师_成都Java工程师学习路线

    成都Java工程师学习路线.java分成J2ME(移动应用开发),J2SE(桌面应用开发),J2EE(Web企业级应用),所以java并不是单机版的,只是面向对象语言.建议如果学习java体系的话可以 ...

  3. 计算机视觉技术学习路线(3D视觉)

    前言 本文首发于公众号[3D视觉工坊],原文请见超详细的计算机视觉技术学习路线 3D视觉介绍 我们生活在三维空间中,如何智能地感知和探索外部环境一直是个热点难题.2D视觉技术借助强大的计算机视觉和深度 ...

  4. 推荐算法工程师学习路线及工作指南

    干货!推荐算法工程师学习路线及工作指南 以下文章来源于大数据与人工智能 ,作者gongyouliu 本文从我自己的学习成长经历.如何判断自己是否适合从事推荐算法.推荐算法工程师需要的知识储备.怎么找一 ...

  5. 人工智能工程师学习路线/自然语言处理算法工程师

    人工智能工程师学习路线/自然语言处理算法工程师学习路径 人工智能工程师学习路线自然语言处理算法工程师学习路径 1入门级别 1 数据结构 2 算法重点 3python 2进阶阶段 1 机器学习算法 2深 ...

  6. 嵌入式工程师学习路线

    ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:  (1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)  (2)必须掌握一个嵌入式操作系统 (初步定为uclinu ...

  7. 网络方向哪个发展更好?数据通信工程师学习路线分享

    数据通信.网络安全.云计算,到底哪个网络方向更好呢?今天就带大家简单地了解一下. 先说说数据通信,这个是普及度比较高的方向.一般我们可以从事数通网络工程师.售前工程师.远程技术支持工程师.驻场工程师等 ...

  8. 计算机网络 学习指南,计算机网络工程师学习路线指南

    随着计算机网络在社会生活各个领域的广泛应用,网络安全问题越来越成为人们关注的焦点.下面是学习啦小编收集整理的计算机网络工程师学习路线指南,希望对大家有帮助~~ 计算机网络工程师学习路线指南 工具/原料 ...

  9. 网络工程师都学什么?网络工程师学习路线内容

    大家在备考软考的时候肯定想着选择那些科目报名比较好,比较有发展前途,这里给大家整理了网络工程师的学习路线以及学习内容,仅供大家参考. 网络工程师是从事计算机信息系统的设计.建设.运行和维护工作,掌握网 ...

最新文章

  1. 反序列化(先序)——split : string--vectorstring
  2. visual c++出错:link问题
  3. 创意总监分享:我是如何做一款手游地图的
  4. 计算机二级循环储存,【日常干货】计算机二级基础知识(第三期)
  5. 如何接收串口数据_UART IDLE 中断使用接收不定长串口数据
  6. kindle的xray怎么用_Xray简单使用教程
  7. Python链表学习
  8. 我的世界java骷髅马_我的世界:骷髅马材质更新,老MC教你获得骷髅马技巧,萌新:真好...
  9. Atitit 知识点 文章 框架 结构 大纲 attilax 总结 艾提拉总结 技术掌握文档总结的 v5 s420.docx 1.1. Preface前言 序言 1 2. 技术流程了解》》选型(标准
  10. Linux之交叉编译器的构建
  11. PLC Outstudio 使用教程
  12. 黑苹果系统完全移植新硬盘
  13. LINUX从零开始——ENGINEER(云计算应用管理)——Day3 [逻辑卷管理、RAID磁盘阵列、进程管理]
  14. python爬虫概述及简单实践
  15. 关于“有未经处理的异常: 0xC0000005: 写入位置 0xfeeefeee 时发生访问冲突”的解...
  16. 复习javascript入门到精通
  17. 读《哈佛情商课》有感
  18. 数据库附加出错解决方法
  19. 统计复习:伯努利分布、二项分布、几何分布、超几何分布、泊松分布
  20. 2020 年 HackerEarth 调查:Go 语言成为最受欢迎的语言(内含 Go 语言图谱下载)

热门文章

  1. 信号一会有 一会显示无服务器,为什么有时手机信号差?原来是因为这些原因!...
  2. 循环函数:while循环和for循环及函数定义
  3. RTSP,RTP,RTCP协议
  4. java中的进制转换(十进制和二进制)
  5. 元宇宙临近,区块链成为新世代的底层技术的脉络越发清晰
  6. 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》翻译
  7. github上传自己的代码
  8. 程序员编程艺术:面试和算法心得
  9. OpenCV - C++ - cv::Scalar
  10. pc station v15 博图_PC STATION下载报错-工业支持中心-西门子中国