首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >The grow path of a CV Cngineer

The grow path of a CV Cngineer

原创
作者头像
Swing Dunn
发布2025-10-16 11:12:10
发布2025-10-16 11:12:10
1110
举报
文章被收录于专栏:Theories imge procesTheories imge proces

嗯,首先还是需要点兴趣吧,对于这个领域,兴趣是最好的老师。我可能入坑比较晚,所以现在基本还是初学者,不过本专业是RS,也和图形处理和分析相关,前期的经验也打下来一些编程工具相关的基础。所以借鉴几篇文章给自己理理思路,就当为后续的学习指明方向吧,也可以算是当前的一个职业规划,希望能够沿着这个方向深入学习下去。


一.理解cv

1.What is computer vision?

个人理解就是让计算机具备人眼的一些功能,当然包括人类对人眼接受的光学信息都分析和整合。这样计算机就可以试图理解图形信息,分析整合,最后作出决策。

[摘录]

Computer Vision计算机视觉,简称CV,是人工智能的一个子领域,它帮助计算机和机器分析图像和视频。就像人类一样,智能系统可以理解视觉数据并从中提取有价值的信息。

计算机视觉的这种能力在广泛的行业中得到了应用。例如在医疗保健领域,CV在医学成像领域发挥了重要作用,可以帮助医生和研究人员诊断和理解复杂的医疗状况。在汽车行业,计算机视觉在允许自动驾驶汽车“感知”周围环境,确保道路安全导航方面发挥着至关重要的作用。

计算机视觉近年来取得了惊人的进步,这可以归因于两个关键因素:深度学习和神经网络的进步,以及大量视觉数据的可访问性。所述突破在不到十年的时间里将视觉系统的准确率从50%提高到令人印象深刻的99%。这一显著的进步展示了计算机视觉令人难以置信的潜力及其不断突破界限的能力。

更令人兴奋的是,计算机视觉市场的增长没有放缓的迹象。事实上,预计到2023年底,这一数字将达到惊人的222.7亿美元。预计到2028年,这一数字则会飙升至惊人的509.7亿美元,从2023年到2028年的增长速度达到惊人的12.56%。美国站在这个行业的最前沿,估计市场价值为83亿美元。

2.how does CV works

[摘录]

计算机视觉使计算机能够像人类一样感知和理解视觉世界。它涉及多个阶段,从通过摄像头或传感器捕获图像或视频帧开始。这种原始的视觉输入然后经过旨在提高数据整体质量和可靠性的预处理技术。我们来快速浏览一下不同的阶段。

特征提取

特征提取是计算机视觉的一个关键步骤。在这个阶段,系统仔细检查输入的视觉数据,以识别和隔离重要的视觉元素,如边缘、形状、纹理和图案。所述特征至关重要,因为它们是后续分析阶段的构建块。为了便于计算机处理,识别的特征会转换成数字表示,以有效地将视觉信息转换成更易于机器理解和操作的格式。

对象检测

在这个过程中,目标检测和识别起着举足轻重的作用。一旦提取特征并转换成数字数据,系统的算法就会在图像中识别和定位特定的对象或实体。这使得计算机不仅可以检测到对象的存在,同时可以判断它们是什么。这种能力可以在从自动驾驶汽车识别行人到识别入侵者的安全系统等领域得到应用。

图像分类

图像分类将这种理解水平提升到更高的高度。

OpenCV深度分享:什么是计算机视觉
OpenCV深度分享:什么是计算机视觉

图像分类不仅仅是识别单个对象,而是将整个图像分类到预定义的类或类别中。这就是卷积神经网络CNN发挥作用的地方。CNN是专门为图像相关任务设计的一类深度学习模型。它们擅长学习复杂的特征层次,使得它们能够辨别复杂的图案,并对图像进行高度准确的分类。

对象跟踪

目标跟踪是视频分析中的一项基础技术,在视频分析中起着举足轻重的作用。它包括监控和跟踪对象在视频连续帧中移动的能力。这似乎是一项简单的任务,但从监视和体育分析到机器人等,它是广泛应用的重要组成。

语义分割

如果我们更深入地研究计算机视觉领域,我们会遇到一个更复杂、更强大的概念,即语义分割。

这种技术通过精心标记图像中的每个像素及其各自的类别,从而将对象分析提升到一个全新的水平。想象一下,机器看着一张照片,不仅要识别对象,而且要理解每个像素的边界和类别。这种级别的粒度打开了一个全新可能性的世界,特别是在自主导航领域。

OpenCV深度分享:什么是计算机视觉
OpenCV深度分享:什么是计算机视觉

自动驾驶汽车和无人机等自动导航在很大程度上依赖于语义分割。它使得车辆能够探测和识别对象,并对周围环境有详细的感知。这种理解对于做出实时决策和在复杂环境中安全导航至关重要。

但计算机视觉的能力并不止于此。它能够从2D图像中提取三维信息,从而创造3D模型和重建。这个功能在将2D图像转换为3D表示可以提供宝贵见解的建筑、考古和虚拟现实等领域都有应用。

另外,计算机视觉可以非常精确地执行后处理任务。它可以对图像中的对象进行计数,或者以令人难以置信的精度估计它们的大小。想想它在库存管理、制造业的质量控制、甚至在保护工作中监测野生动物种群方面的潜力吧。

计算机视觉令人着迷的一点是它的适应性。通过机器学习的力量,系统可以随着时间的推移而学习和进化。当处理更多的数据和获得更多的经验后,它们会变得越来越准确和可靠。这种适应性使得计算机视觉能够不断突破各种行业和应用的界限。

3.The Mission of CV

[摘录]

图像分类

计算机视觉的核心是图像分类。这项基本任务涉及将输入图像分类为预定义的类或类别。想象一个可以简单地通过分析图像来区分猫和狗的系统。这种基本能力是其他各种计算机视觉应用的基础,并为高级视觉识别铺平了道路。

对象检测

除了分类之外,对象检测同时增加了另一层复杂性。它可以识别图像中的对象,并通过在它们周围绘制边界框来精确定位它们的位置。想想自动驾驶汽车识别行人和其他车辆,安全系统检测入侵者,或者零售应用程序跟踪商店货架的产品。对象检测允许机器能够更有效地导航和与世界交互。

图像分割

图像分割就是根据颜色、纹理或形状等共同特征,将图像分割成不同的区域或片段。这种技术有助于理解对象边界,并在图像中分离不同的对象或区域。在医学领域,它有助于分割器官或肿瘤,而在机器人领域,它有助于导航和操作任务。

面部识别

面部识别是一种基于面部特征来识别和验证个体的艺术。从通过身份验证和访问控制来增强安全性,到在娱乐中添加有趣的滤镜,以及帮助执法部门从监控录像中识别嫌疑人,这项技术有着深远的应用。

姿态估计

姿态估计确定图像或视频中对象或身体部位的空间位置和方向。例如,它可以用于健身跟踪、手势识别和游戏,使得机器能够详细了解物理世界和人类运动。

场景理解

通过从视觉数据中提取更高层次的信息,场景理解超越了对象识别。它包括识别场景的布局,理解对象之间的关系,以及推断环境的背景。这种能力对于机器人、增强现实和智能城市的导航、情景感知信息叠加和交通管理等任务至关重要。

光学字符识别

OCR即光学字符识别,是一种从图像或扫描文档中识别和提取文本的卓越能力。它在数字化印刷或手写文本中起着关键作用,使得字符变得可搜索和可编辑。应用范围从文档管理到文本翻译和视障人士无障碍工具。

图像生成

计算机视觉同时促进了图像的生成和处理。像GANs样的生成式模型可以创建逼真的图像,为艺术表达、内容生成和训练机器学习模型的数据增强打开了大门。

这只是诸多计算机视觉任务中的一部分,在解决复杂现实世界问题方面存在其他大量的变体和组合。在深度学习和神经网络进步的推动下,计算机视觉使机器能够以复杂的方式解释视觉世界并与之交互。

二、成为相关工作者

1.What is a computer vision engineer

[摘录]

计算机视觉工程师是尝试利用各种机器视觉工具和算法来为机器重新构建人类视觉系统的人。他们以数据集的形式分析和处理大量数据,以通过视觉帮助自动化预测决策。简单地说,计算机视觉工程师是处理来自图像和视频的视觉信息的人。

大多数视觉工程师都在研究、训练、测试和部署在计算机视觉应用程序中实现的模型。他们同时与其他工程师密切合作,利用视觉信息构建硬件和软件来解决问题或执行特定任务。他们在机器学习、深度学习、图像注释、图像和视频分割以及图像识别等领域拥有令人印象深刻的知识。视觉工程师在医疗保健、汽车、机器人和监控等各个行业都有非常高的需求。

2.Path of studies

这部分属于我自己比较关心的,比较现在全身燃烧着对知识点渴望,所以针对自己情况写一下吧。

1.Math

感觉各行各业要深入,数学都是基础啊,不过对于一个初学者来说,倒也不用关心到那么深,但是要想沿着这条道路一直走下去,应该是避不开的。所以,曾经上课睡的觉,都是现在熬的夜。这部分对于当下的我来说倒不用超之过急,可以列入长期一点的学习规划加入日常,一方面是大学学习过相关的基础,太久不用现在需要捡一下;二是学海无涯,可以先有个初步了解然后针对性学习吧;工作后和上学还是不同,知识不用迟早荒疏,所以最好能够学以致用(个人理解),所以没必要的时间和精力投入可以省着点。按照自己理解的优先级顺序排一下:

1.线性代数

毕竟图形的计算机表示通常都是矩阵,而且卷积、平移缩放旋转等计算,坐标系转换,还有特征的描述和检测都离不开线性代数。

2.概率论与数理统计

由于成像还有处理过程都可能带来一些偏差,所以图像分类等都回存在一定的置信度,就是概率;针对不确定性和可变性,就需要这方面的知识了。

统计技术使得深度学习模型的优化成为可能。随机梯度下降等方法依赖于概率方法来寻找神经网络的最优参数。

统计方法用于检测和跟踪图像或视频序列中的对象。对象的运动则是用概率模型来预测。

构成计算机视觉很大一部分的机器学习模型同样使用概率和统计学。卷积神经网络等模型则使用统计数据来识别和分类图像中的模式。

3.微积分

个人感觉不涉及到一些复杂的算法,倒是不要太着急补这方面。简单已有的算法,应该可以理解;太复杂的理解起来估计也有难度。后续有一定基础后,看是否需要吧。

微积分,尤其是微分,在计算机视觉中至关重要。

以深度学习为例。理解深度学习模型是计算机视觉的重要组成,而微积分概念同样有在这里广泛使用。例如,训练神经网络的反向传播算法就是基于微积分。

特征提取是另一项计算机视觉任务。它包括从图像中提取有意义的特征,而这同样是通过微积分实现。以SIFT和边缘检测为例。在微积分的帮助下,它们能够识别图像中对于图像匹配和对象识别等任务至关重要的关键点和特征。

运动分析和跟踪同样使用微积分。如何实现?在空间和时间上计算导数,以确定对象在场景中如何移动。

理解微积分原理是理解计算机视觉算法和技术的关键。

2.programming

编程方面肯定是靠手学,多学多用,注重理解和实现。

python : 因为我原来不是做这个方面的,所以python也是转向后学习的,但是发现越学越香啊。OpenCV、TensorFlow和PyTorch,基础的numpy,pandas, matplotlib最好都学一下。

C++ : OpenCV等库中的核心算法最初是用c++编写。它同时支持大多数库。C++广泛应用于实时图像处理、资源优化任务、嵌入式系统和机器人等领域。

C : 加个 C,其实对CV方面好像是没太大帮助,直接上C++,不过对编程的理解确实会很有帮助(个人理解)。

其它的不在学习之列,不过根据项目应用和设计,可能会有一些吧;不过编程的思想都差不多,学号C++,转写一些其它的应该不会觉得很难。

Matlab:这个我只在上课学过,后面就已经完全忘干净了,不过应该对于快速验证很有帮助吧,有兴趣和需要可以,当前我应该好好学python可以平替一下吧。

它拥有对于图像和视频分析至关重要的强大数据可视化工具,并同时用于创建易于使用的用户界面以及与计算机视觉应用程序的交互。

MATLAB允许与其他语言集成,提供了更大的灵活性,并可利用其他库和工具。

MATLAB帮助将计算机视觉算法与Simulink集成到更大的系统中,允许基于模型的设计和图形化编程方法。它尤其用于嵌入式系统和控制设计。

3.Machine Learning

标一些关键词吧,顺藤摸瓜

[摘录]

机器学习在计算机视觉中起着至关重要的作用。它显著增强了计算机视觉功能和应用。下面我们来探讨一下机器学习在计算机视觉中的关键作用。

模式识别在视觉数据中起着至关重要的作用。这对于识别和分类图像或视频中的对象的对象识别等任务十分重要。其中,这是通过机器学习算法实现。

理解视觉数据情景的另一个关键方面是特征检测和提取。它包括识别图像中的关键点、边缘和形状。再一次,机器学习通过检测和提取特征来救场。

机器学习算法可以分析和解释图像和视频,以检测异常,跟踪运动,甚至根据视觉线索预测未来的事件。

然后是语义分割,这是将图像中的每个像素分类到一个类别的过程,它有助于在更详细的层面上理解场景。机器学习使这成为可能。

卷积神经网络

卷积神经网络(CNN)是计算机视觉领域的一个重要理论。它们用来从输入图像中学习特征的空间层次,并构成了图像识别、分类和分割等任务的很大一部分。

OpenCV分享:从新手到专家,计算机视觉工程师的成长指南
OpenCV分享:从新手到专家,计算机视觉工程师的成长指南

图像处理

计算机视觉的另一个基本概念是图像处理。它涉及到增强从摄像头和传感器接收到的原始图像的技术。这可以包括降噪、对比度增强和图像锐化,而这对于提高进一步处理的准确性至关重要。

模式识别

顾名思义,它涉及识别数据中的模式和规律。这包括识别计算机视觉图像中的特定对象、面孔或场景。模板匹配、基于特征的匹配和统计分类等技术属于这一部分。

计算机图形学

图像的几何方面,如透视、形状和运动是关键,并与三维重建、摄像头校准和立体视觉相关的理论广泛用于解释图像中的空间关系。

深度学习

除了卷积神经网络的空间层次结构之外,我们同时有深度学习,包括各种架构,如自动编码器,生成式对抗网络和循环神经网络,可用于图像生成,风格转移和视频分析等复杂任务。

特征提取

特征提取是识别图像中的关键点或特征,如边缘和角,并找到不同图像之间的对应关系。这对于对象识别、运动跟踪和全景拼接等任务至关重要。

语义分割

这个理论侧重于像素级的图像分析,并旨在将每个像素分类到特定的类别中。语义分割在场景理解、自动驾驶应用和医学成像应用中都有应用。

以上理论都至关重要,并在解决视觉数据解释和理解的不同方面和挑战时发挥作用。从简单的图像分类到复杂的场景理解以及与物理世界的交互,它们促进了广泛任务的正常运作。

图像处理技术

图像处理是将图像处理成数字形式以执行特定操作,并从中推断出有用信息的方法。这样做是为了增强现有图像以从中获得相关信息。图像处理是对象检测和人脸识别等许多应用中必不可少的预处理步骤。例如在娱乐行业中,图像处理用于向图像中添加或删除对象。下面我们来探索一下。

图像增强

计算机视觉图像处理中的图像增强是指用于改善图像的视觉外观,或将图像转换为更适合人类或计算机算法分析的一组技术。这个过程对于为计算机视觉中的进一步任务备图像至关重要,如特征提取、目标检测和分类。目标通常是从观察者的角度提高原始图像的质量,或者增强对进一步处理很重要的特定图像特征。为什么图像增强至关重要?下面我们看看为什么。

  • 图像增强有助于对比度调整。通过直方图均衡化或对比度拉伸等技术,可以修改像素强度以获得更清晰的图像。
  • 通过简单或复杂的方法调整像素值来增强图像亮度。
  • 图像平滑通过使用高斯模糊、中值或双边滤波等方法最小化随机亮度或颜色变化来实现。
  • 它同时执行边缘增强,使图像边缘更明显,并利用拉普拉斯滤波器和高通滤波器等技术。
  • 色彩平衡和饱和度:通过校正色温和增强色彩鲜艳来改善视觉吸引力或重点。
  • 模糊:恢复因运动或对焦问题而模糊的图像的清晰度。
  • 几何处理:处理图像结构以去除噪点、分离对象或强调形状。

图像恢复

图像恢复是通过去除噪点来提高图像质量的过程。尽管与图像增强有一定的相似之处,但后者利用了人类视觉系统的特征来获得更好的效果。在图像恢复中,原始图像的质量要求很高,但有一定的条件。

  • 图像恢复的一个关键方面是去除图像中的噪点,如高斯噪点或斑点噪点。
  • 另一个方面是提高图像的分辨率。这可以是通过增加图像中的像素数。
  • 图像模糊是另一个常见问题。这可能是由于失焦或其他因素造成,并可通过估计模糊模式或模糊核和逆转其影响来解决。
  • 色彩校正是图像恢复的另一个重要方面。例如,有些图像会有颜色失真,或者较旧的图像会褪色。这样的图像需要通过调整图像的色彩平衡来进行色彩校正。
OpenCV分享:从新手到专家,计算机视觉工程师的成长指南
OpenCV分享:从新手到专家,计算机视觉工程师的成长指南

图像压缩

图像压缩是对数字图像进行数据压缩的过程。这样做的目的是优化图像数据的大小,使其更具可存储性和可传输性。它大致可分为:

  • 无损压缩:这个过程是指在不影响图像质量的情况下制作图像的较小版本。这是一个可逆过程,图像部分依然完好无损。
  • 有损压缩:在这个过程中,通过去除图像的特定部分来减小图像的大小。我们将得到一个明显更小的图像版本,使其加载速度更快,质量差异最小。缺点之一是不像无损压缩,这不可逆转。

图像处理

图像处理是对数字图像进行修改的过程。这一步是为了提高图像质量或创造视觉效果。下面是图像处理的用法

图像处理通常助以滤波。它是一种常用的模糊、锐化或边缘检测技术,是图像处理的基本组成。

另一个方面是组合创作,它涉及到将不同的形象组合在一起并创造一个新的形象,通常用于广告。

通过图像处理,不仅可以将图像放在一起,同时可以将图像分成不同的部分。这是基于图像中像素的特征来完成。

我们同时可以在图像预处理中进行扩张和开合等操作,特别是通过形态学处理对二值图像来进行预处理。

深度学习模型和方法

下面我们来关注计算机视觉熟练度的另一个重要关键:深度学习。

掌握各种深度学习模型和方法对计算机视觉工程师来说至关重要。熟练掌握CNN、GAN和Vision Transformer等模型有助于解决从图像识别到实时目标检测的各种问题。

我们从CNN卷积神经网络开始。它们构成了分析图像的基石,其架构模仿人类视觉系统,提供更有效的特征提取和模式学习。CNN在图像识别和图像分类等任务中表现出色,并在自动驾驶和面部识别应用中得到应用。

现在我们来看RNN循环神经网络。它们破译视觉数据中的时间关系和顺序情景,而这对于帧预测或视频字幕等应用非常有用。它们擅长理解序列数据,如动作识别或视频分析。

RNN和LSTM非常擅长处理时间序列数据和序列,可在视觉任务中提供更连贯的解释。

然后是自动编码器。它们主要用于无监督学习,如特征学习和图像降维。它们在降噪和图像重建等任务中发挥着关键作用,并在图像去噪和异常检测等应用中得到了应用。

生成式对抗网络GAN是一种强大的模型,能够生成新图像和增强数据集。它们有助于创建逼真的合成图像并增强数据集,以用于训练生成高分辨率图像的其他模型。它们具有模拟复杂数据分布的不可思议的能力。它的应用包括:

  • 为更身临其境的AR体验生成逼真的纹理和对象
  • 为面部识别和生物识别认证生成各种逼真的训练数据
OpenCV分享:从新手到专家,计算机视觉工程师的成长指南
OpenCV分享:从新手到专家,计算机视觉工程师的成长指南

理解相关模型可以帮助你更有效地解决问题,并可以优化计算资源,从而将知识提高到通往成功的水平。

三、职业之路

[摘录]

从事计算机视觉工程师的职业是一件令人兴奋的事情。计算机视觉专家的道路可以分为几个关键阶段,而每个阶段都有自己的挑战和奖励。

8.1 初级计算机视觉工程师

大多数计算机视觉工程师的职业生涯从这里开始。作为一名初级工程师,你必须尽可能多地学习和吸收知识。你将参与在大型项目的系列小模块,掌握图像处理算法、机器学习模型和数据注释任务。这是磨练技术技能和理解理论知识实际应用的阶段。

8.2 计算机视觉工程师

有了几年的经验后,你就会担任一个更加独立的角色。在这里,你将设计和实现计算机视觉系统的组成,排除问题,并优化性能。在这个阶段,你将深入了解高级算法并探索对象检测,面部识别或3D重建等领域。你将开始为不同的项目和应用程序提供解决方案。

8.3 高级计算机视觉工程师

现在我们慢慢进入正题。作为一名高级工程师,你将承担复杂的挑战,并领导项目的各个部分。这一阶段包括在深度学习和神经网络等领域完善和开发复杂的算法,这可能涉及实验新形式的图像和视频分析,以及提高目标检测和识别的准确性。在这个阶段,你不仅要解决问题,同时要识别问题。另外,你可以指导初级团队成员,分享你的专业知识和经验。

8.4 项目经理

在这个阶段,你要监督整个项目。这个角色需要在技术知识和管理技能之间取得平衡。你将从技术工作过渡到管理计算机视觉项目,职责包括项目规划,确保时间表和资源得到妥善管理。领导力是关键。你将负责指导一个工程师团队,培养一个协作环境。涉众沟通变得至关重要,因为你是团队与外部各方之间的桥梁。你的影响力是由项目的成功、团队的成长以及交付给利益各方的价值来衡量。

8.5 解决方案架构师

作为解决方案架构师,你需要弥合技术方面和实际应用之间的差距。作为解决方案架构师,你的角色变得更加具有咨询性。你需要设计和构建复杂的计算机视觉系统,经常与客户或其他部门进行交互,以了解他们的需求并将其转化为技术需求。你的专业知识有助于为每个项目做出关于正确工具、技术和方法的关键决策。

8.6 首席计算机视觉工程师

这条职业道路的顶峰是首席计算机视觉工程师。这个职位专注于技术进步和研究,探索人工智能和机器学习的新领域。这个角色的关键方面包括与其他思想领袖建立联系,为学术期刊撰稿,在会议发言。理想情况下,你在这个阶段的工作有可能影响更广泛的行业格局,设定新的标准并开辟可能性。

像任何其他职业道路一样,计算机视觉工程师的道路包括不断学习和技能发展。每一步都会提供了宝贵的经验,带来个人和整个领域的进步。

尽管计算机视觉路径一开始看起来令人生畏,但从长远来看,这是非常有益的。

9. 计算机视觉工程师在哪里工作?

在当今快节奏的数字时代,计算机视觉工程师的作用变得越来越重要。从初创公司到跨国公司,许多公司都利用计算机视觉来实现流程自动化,做出更明智的决策,并创造无缝的客户体验。

然而,找到这样技能的人才是一个挑战。人才的稀缺导致了对视觉工程师的高需求。公司认识到这种专业人士的价值,并愿意支付更高的薪水来确保招揽到市场最好的人才。计算机视觉工程师的高薪证明了他们在现代商业中不可或缺的作用。

参考原文链接:

https://www.nxrte.com/jishu/40252.html

https://news.nweon.com/116301

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.理解cv
    • 1.What is computer vision?
    • [摘录]
    • 2.how does CV works
    • [摘录]
    • 3.The Mission of CV
    • [摘录]
  • 二、成为相关工作者
    • 1.What is a computer vision engineer
    • [摘录]
    • 2.Path of studies
      • 1.Math
      • 2.programming
      • 3.Machine Learning
  • 三、职业之路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档