计算机视觉开发工程师需要哪些技能?

1,908 阅读7分钟

首先,需要了解市场所需的基本能,以便在转行之前做好准备。 所以,这里是列表:

  • 图像处理技术、图像识别、物体检测和视觉识别知识。
  • 了解深度学习神经网络架构(ANN、CNN、RNN、Transformers、Autoencoders)及其在解决计算机视觉问题中的应用。
  • 具有使用 R/Python/Matlab 等编程语言进行编程的能力。
  • 深入了解数据结构和算法。
  • 扎实的数学和统计学基础。
  • 必须能够从数据集中得出有见地的结论并以有组织的方式呈现它们。
  • 良好的沟通技巧。
  • 使用机器学习和深度学习算法解决计算机视觉中复杂的现实世界问题的先前经验。

6 大经典开源计算机视觉项目列举:

计算机视觉是最令人印象深刻和引人注目的人工智能类型,从根本上说,它是一个专注于解决计算机视觉问题的研究领域。

1. 图像分类

图像分类是计算机视觉中的一项基本任务。在这里,目标是通过为其分配特定标签来对图像进行分类。以下是两个最引人注目的图像分类开源项目:

Cifar 10:

CIFAR-10 数据集用于训练由图像集合组成的机器学习和计算机视觉算法。它是最著名的机器学习数据集。它包含 60,000 张 32×32 彩色图像,分为 10 个独特的类别,分别代表飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、轮船和卡车。

ImageNet:

ImageNet 数据集是用于计算机视觉研究的巨大视觉数据库。该项目已经对超过 1400 万张图像进行了手工注释,以指示所描绘的对象,并且还为至少 100 万张图像提供了边界框。 ImageNet 包含 20,000 个不同的类别。

作为初学者,你可以使用 Keras 或 PyTorch 从头开始??学习神经网络。为了获得更好的结果并提高学习水平,请使用 VGG-16、Restnet-50、Googlenet 等预训练模型。

2. 人脸识别

人脸识别用于安全、监视或解锁您的设备。它的主要目标是根据预先存在的数据库识别图像或视频中的人脸。这是一个多阶段的过程,包括以下几个步骤:

  • 人脸检测:这是第一步,涉及在输入图像或视频中找到一张或多张可用的人脸。
  • 人脸对齐:对齐是将输入人脸归一化为几何上可靠的数据库。
  • 特征提取:稍后,提取识别任务中使用的特征。
  • 特征识别:将输入特征与数据库匹配。

以下是开源数据集,可为你提供良好的人脸识别体验:

MegaFace:

MegaFace 是一个大规模公共人脸识别训练数据集,用于商业人脸识别问题。它有 4,753,320 张面孔,672,057 个身份。

Labeled faces in wild home:

野外标记人脸(LFW)是一个人脸照片数据库,用于研究无约束人脸识别问题。它包括从网络上检测和收集的 5,749 人的 13,233 张图像。同样,图中的 1,680 人在数据集中有两张或更多张不同的照片。

你可以使用预训练的模型,例如 Facenet,它是一种深度学习模型,可为人脸识别、验证和聚类任务提供统一的嵌入。网络将每个人脸图像映射到欧几里得空间中,最终目标是相似图像之间的距离更小。

你可以轻松地使用 Keras 和 PyTorch 中存在的预训练 Facenet 模型来创建自己的人脸识别系统。

3.场景文本检测

在这里,出现在图像上的文字是由外部环境中的相机拍摄的,例如道路上的汽车牌照、路边的广告牌等。场景图像中的文本在形状、字体、颜色和位置方面有所不同。非统一的启蒙和核心焦点进一步增加了场景文本识别的复杂性。

以下是有助于丰富你分析场景文本检测技能的流行数据集:

SVHN:

Street View House Numbers (SVHN) 数据集是最流行的开源数据集之一。它已被用于谷歌制造的神经网络中,以读取门牌号码并将它们与其地理位置进行匹配。这是一个很好的基准数据集,可以使用、学习和训练精确识别街道号码的模型。该数据集包含 60 万张从 Google 街景中获取的带有门牌号的真实世界图像。

Scene Text 数据集:

Scene Text Dataset 数据集包括在各种环境中捕获的 3000 张图像,包括不同光照条件下的室外和室内场景。图像是通过使用高分辨率高级数码相机或低分辨率手机相机拍摄的。此外,所有图像都已调整为 640×480。

4. 使用 DETR 进行目标检测

对象检测的主要目标是通过创建一个边界框以及它们上的适当标签来预测图像中存在的每个感兴趣的对象。几个月前,Facebook 公开发布了其对象检测框架——DEtectionTRansformer(DETR)。 DETR 是一种针对对象检测问题的创新且高效的解决方案。通过将对象检测视为直接集预测问题,它简化了训练管道。此外,根据变压器,它采用编码器-解码器架构。

以下是用于对象检测的开源数据集:

Open Images:

Open Images数据集由约 900 万张图像组成,这些图像用图像级标签、对象边界框、对象分割掩码、视觉关系和本地化叙述进行了注释。在此,数据集分为训练集(9,011,219 张图像)、验证集(41,620 张图像)和测试集(125,436 张图像)。

MS-COCO:

MS-COCO 是用于对象检测问题的大规模数据集。它由 33 万张图像和 80 个对象类别组成,每个图像有 5 个标题和 250,000 个人的关键点。

5. 语义分割

当我们谈论计算机视觉技术中的完整场景理解时,语义分割就出现了。 它的任务是将图像中的所有像素分类为对象的相关类。以下是本主题的开源数据集列表:

CamVid:

该数据库是首批发布的语义分割数据集之一。 这在语义分割研究中经常使用。 该数据集包含:

  • 367个训练对
  • 101 个验证对
  • 233个测试对

Cityscapes:

这是可用于语义分割任务的最流行的数据集之一。它包括 2975 个训练图像文件和 500 个验证图像文件,每个文件为 256×512 像素

6. 图片字幕

图像字幕是计算机视觉和自然语言处理 (NLP) 的组合任务,它为图像生成文本描述。计算机视觉技术有助于理解和从输入图像中提取特征。 接下来,NLP 按照正确的单词顺序在图像中创建文本描述。

以下是一些用于图像字幕的有用数据集:

COCO caption:

COCO 是对象检测、分割和字幕数据集,由 33 万张图像组成,超过 20 万张,用 150 万个对象实例和 80 个对象类别进行标记,每个图像有 5 个标题。

Flicker 8k dataset:

它是一个图像标题语料库,包含 158,915 个描述 31,783 张图像的众包标题。 新的图像和标题专注于人们进行常规活动和场合。

拓展阅读:拥有多年视频处理技术经验,TSINGSEE青犀视频深度融合Al人工智能技术,提供海量视频的接入、智能分析及处理能力。目前,EasyCVR已经实现人脸检测、人流量统计、车辆检测、车牌识别等AI智能识别技术的研发,并广泛应用在交通、物流、安防、消防等场景中。