0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机视觉中的专业术语概念和意义

新机器视觉 来源:CV技术指南 作者:仿佛若有光 2021-06-26 11:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言:

计算机视觉中存在很多的专业术语,如先验知识,语义信息,embedding,head,neck等。这些术语的解释无法直接在网上搜到,也没有在哪一篇论文中定义它们的概念和意义,因此,对于第一次听到这些术语的读者来说会非常的困惑。

此外,对于还没有建立计算机视觉知识体系的读者来说,也很难理解特征空间,fine-tuning、预训练、池化等方面的内容。

本文介绍了很多读者在其它地方不可能了解的内容,通过这些内容相信读者能更深层次地理解计算机视觉,建立起基本的计算机视觉知识体系。

backbone、head、neck和fine-tune

以一个图像分类的卷积神经网络为例,网络分成两部分,前部分是由卷积层、归一化层、激活层、池化层堆叠的,输入图像在经过若干层卷积、归一化层、激活层和池化层的堆叠后进入全连接层,经过几次全连接后输出每个类别的概率值。

在这里,前面卷积层、归一化层、激活层和池化层的堆叠部分属于backbone。意思是神经网络的躯干部分,这部分也称为特征提取网络。

后面的全连接层的堆叠属于head。意思是神经网络的头部,实现模型任务的预测,称为predictor head,这部分网络也称为分类网络。

再以目标检测中的YOLO_V4中的图为例。

如上图所示,在backbone后,常构建特征金字塔,在特征金字塔部分做一些处理,如多尺度融合,再将特征金字塔的输出进行预测。因此,特征金字塔这部分放在backbone和head之间,称为neck(脖子),这里的Dense Prediction即为head。

关于backbone即常见的经典网络,如VGG,ResNet,MobileNet,ShuffleNet,DenseNet等,当某个模型提到backbone使用的是VGG,即表示使用的是VGG的backbone部分,而不包括VGG的head。

这里解释一下为何是这样。神经网络有多种解释,其中一种解释如下,神经网络被认为是在提取特征,计算机视觉的传统方法就是人为地设定某些特征,再进行分类。如HOG特征,LBP特征,在提取完特征后,使用分类器对这些特征进行分类,如SVM分类器。

这里的backbone部分则认为是一个特征提取网络,而head部分则被认为是分类网络,因此特征提取的部分可以共享,它们的本质都是在提取图片的特征,而分类网络则对应到具体的任务,如分类猫狗,分类网络需要从提取的特征中分成猫狗两类。

这段话同时也解释了fine-tune的原理,使用一个预训练好的backbone,针对你自己的任务,自己搭建相应的分类网络,在训练时冻结backbone的参数,只训练分类网络的参数。这是因为预训练好的backbone已经具备很好的特征提取能力,因此对于你自己的图像,网络只需要学习如何将提取后的特征按你定义的类别进行分类。

Preprocess和Postprocess

Preprocess为预处理,图像在送入神经网络之前,需要进行一定的处理。

通常的处理是使用opencv中的resize将所有图像缩放到同一尺寸,并根据数据集的标注设置网络的label。此外,如果有必要的话,还会进行数据增强,如调整图像饱和度,镜像,加噪声,随机掩码等方式。

预处理的必要性:大部分神经网络在backbone后将数据进行flatten(即将四维的张量变成二维)的操作,再进行全连接,此时全连接层输入的神经元个数即为flatten后的长度,若输入的图像的尺寸不一样,则全连接层输入的神经元个数无法一致,会报错。此外,对于没有全连接层,其它类似的处理部分(除少数外),也会要求backbone后的输出大小一致。 Postprocess指的是对网络预测的结果进行后处理,对于普通的分类网络不需要后处理,但对于目标检测、语义分割这样的任务,需要对网络的输出进行处理,将预测的结果通过图像进行可视化。

例如目标检测中的YOLO,其输出一个7x7x30的张量,输出98个预测框,但实际一张图片没这么的目标,则需要进行NMS这样的处理来去除一些不合理的预测框,且我们无法直接看待这些预测框是否准确,就需要将其在原图像上显示出来,以直观感受预测的效果如何。

先验知识

在《论文创新的常见思路总结》中我提到,关于特定的类的检测,我们可以针对这个类别添加很多先验知识,在《数据增强方法总结》中我提到,数据增强的本质是人为地引入人视觉上的先验知识。在《CNN可视化技术总结(一)特征图可视化》中我提到,所谓改进网络都是人的主观改进,这里人的主观即先验知识。 这里的先验知识指的是人对于如何识别一张图像或如何识别一个类而关注的内容,引入先验知识是指设计一些东西让网络也关注这些内容。 例如特征金字塔中的多尺度融合,人认为大目标应该在低分辨率检测、小目标在高分辨率检测,由此网络在特征金字塔的不同层预测不同大小的目标。人又认为如果大目标在低分辨率检测,小目标在高分辨率检测,则在低分辨率时,小目标还存在,在这里被当成了背景,同理在高分辨率时大目标被当成了背景,这样不合理,又提出了ASFF处理方式,提升了5-10个百分点。

《特征金字塔技术总结》

例如人在关注一个事物时,会自动忽略眼睛看到的其它东西,由此提出了注意力机制。例如即便只有上半身,人还是能认出自己熟悉的人,由此提出随机遮挡等数据增强方式,让网络在有遮挡的情况下也能正确识别。

例如人是如何识别打篮球这一行为的,人根据篮球、投篮手势、身体跳跃、篮球运动等一系列的组合识别,因此如何让网络更好地关注这些特征提出了Non-Local。

在transformer中出现了embedding,在自编码器中也出现了embedding,还有很多地方也有提到,如何理解embedding?

这里涉及到神经网络的另一种解释。神经网络被认为是将图像从高维的像素空间映射到低维的嵌入空间,即embedding,也可称为特征空间。这里的特征空间用embedding(向量的形式)来表示。

在编码器中,网络将图像映射成embedding,即高维图像通过非线性函数的多次映射,可以用低维embedding来表示,在解码器中,网络将低维embedding映射回图像。

因此,embedding可以认为是某些特征的浓缩表示形式。

以行人重识别为例,论文认为即便是在不同拍摄角度下,只要是同一个人,神经网络输出的embedding在某种距离度量方式下就是相近的,而不同的人在某种距离方式下就是很远的,因此可以通过某种距离度量方式判断两个embedding的距离是否在阈值范围内来判断是否为同一个人。

feature map

字面意思:特征图。

根据前面的解释,神经网络是在将图像从高维像素空间映射到低维的特征空间,这个映射是通过一层一层卷积和激活来进行的,卷积具备提取特征的能力。

例如在数字图像处理中,我们是通过sobel算子来检测轮廓,而sobel算子可以认为是3x3的卷积的其中一种情况,在这种情况下,它就可以提取图像的轮廓,那在其它情况下就可以提取其它的特征,因此卷积的过程就是在提取特征的过程,经过卷积提取特征和激活函数的映射后的输出称为feature maps。

池化

接着上面的解释来介绍一下池化。

在一张图像中存在很多噪声和冗余信息,噪声是由相机拍摄过程中由于传感器电路、材料等硬件因素或传输过程中产生的,冗余信息是指跟具体任务无关的内容。

当我们以整张图像输入时,需要将这些噪声、冗余信息去除。我们认为这些冗余信息和噪声不是特征,在神经网络中的卷积和映射过程中,会产生比较低的响应值,因此我们可以通过最大池化选择最大的响应值进入下一层,因为我们认为只有特征才会在卷积过程中产生大的特征值,也称为响应值。

同样以sobel为例,当对一个像素值基本相同的背景进行卷积时,卷积的输出几乎为0,而对一个轮廓边缘进行sobel卷积,则会输出较大的值。

因此神经网络通过多次最大池化,去除了噪声和冗余信息。这也就是为什么神经网络的backbone部分基本全是最大池化,而不是平均池化,因为平均池化会将这些冗余信息和噪声继续传到下一层。

关于池化更详细的技术总结,请阅读《池化技术总结》文章。

语义信息

数字图像是由像素值组成的,它们本是一堆数字的组合,但就是这样的组合形成了一幅幅图像,如猫、狗、篮球、米老鼠、眼睛、鼻子等。因此,语义信息指的是图像的内容,即鼻子,眼睛这样的图像。

总结

本文介绍了很多读者在其它地方不可能了解的内容,通过这些内容相信读者能更深层次地理解计算机视觉,建立起基本的计算机视觉知识体系。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7841

    浏览量

    93464
  • 机器视觉
    +关注

    关注

    166

    文章

    4829

    浏览量

    126503

原文标题:计算机视觉专业术语解析

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    计算机专业408考研科目

    408 跨考零基础:三个月入门到精通路线 站在2026年的节点回望,计算机考研408(计算机学科专业基础综合)早已超越了单纯的知识点考核,它更像是一场对逻辑思维与系统观的深度洗礼。对于跨考且零基
    发表于 04-11 16:44

    传音相关研究成果入选计算机视觉顶会CVPR 2026

    (Mohamed bin Zayed University of Artificial Intelligence,简称MBZUAI)联合开展的“拍照解题”项目研究取得重要进展,相关成果论文已被计算机视觉领域的国际顶级学术会议CVPR 2026正式录用。
    的头像 发表于 04-03 17:45 2941次阅读
    传音相关研究成果入选<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>顶会CVPR 2026

    上海计算机视觉企业行学术沙龙走进西井科技

    12月5日,由中国图象图形学学会青年工作委员会(下简称“青工委”)、上海市计算机学会计算机视觉专委会(下简称“专委会”)联合主办,上海西井科技股份有限公司、江苏路街道商会承办的“上海计算机
    的头像 发表于 12-16 15:39 738次阅读

    使用代理式AI激活传统计算机视觉系统的三种方法

    当前的计算机视觉系统擅长于识别物理空间与流程的事件,却难以诠释场景细节及其意义,也无法推理后续可能发生的情况。
    的头像 发表于 12-01 09:44 783次阅读

    龙架构计算机系统能力核心课程教学研讨会圆满举行

    2025年11月8日,由教育部计算机专业系统能力课程群虚拟教研室指导、北京航空航天大学计算机学院主办的龙架构计算机系统能力核心课程教学研讨会在京举行。
    的头像 发表于 11-14 13:52 780次阅读

    STM32计算机视觉开发套件:B-CAMS-IMX摄像头模块技术解析

    STMicroelectronics用于 STM32开发板的B-CAMS-IMX摄像头模块提供强大的硬件集,可处理多种计算机视觉场景和用例。该模块具有高分辨率500万像素IMX335LQN
    的头像 发表于 10-20 09:46 1615次阅读
    STM32<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>开发套件:B-CAMS-IMX摄像头模块技术解析

    通俗易懂的晶振专业术语

    想要了解一个行业,就要对其产品的术语要有所了解,各行各业都要自己专业术语,石英晶振也不例外;了解晶振术语对晶振采购和选型有很大帮助;下面小扬给大家简单的解释晶振术语都代表什么意思:
    的头像 发表于 09-18 11:31 2128次阅读
    通俗易懂的晶振<b class='flag-5'>专业术语</b>

    2025年地方高校计算机专业核心课程暑期师资培训成功举办

    近日,2025年地方高校计算机专业核心课程暑期师资培训在昆明成功举办。培训由“中西部高校关键计算技术人才培养共同体”“计算机专业系统能力
    的头像 发表于 08-20 11:29 1418次阅读

    微软正式发布Microsoft行星计算机专业

    地理空间数据虽赋能能源、农业、零售等多领域,却因复杂性与数据孤岛问题长期局限于专家群体。微软正式发布Microsoft行星计算机专业版,通过Microsoft Azure(国际版)整合AI技术分析能力,实现海量数据从采集、处理到洞察的全流程管理,推动可持续决策成为企业新基
    的头像 发表于 08-19 14:31 1319次阅读

    易控智驾荣获计算机视觉顶会CVPR 2025认可

    近日,2025年国际计算机视觉与模式识别顶级会议(IEEE/CVF Conference on Computer Vision and Pattern Recognition,CVPR 2025)在美国田纳西州纳什维尔召开。
    的头像 发表于 07-29 16:54 1377次阅读

    工业计算机的重要性

    工业计算机对某些行业至关重要。我们将在下面详细解释这些行业的工业计算机应用。1.制造与工业自动化工业级计算机非常适合制造工厂,特别是那些想要自动化装配过程的工厂。在这样的环境
    的头像 发表于 07-28 16:07 726次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机的一些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够在各种不同的极端环境运行。自动化
    的头像 发表于 07-21 16:44 755次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 898次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景
    的头像 发表于 07-10 16:36 916次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    工业计算机如何设计用于冲击和振动

    探讨了使工业计算机能够抵御冲击和振动的关键设计原则和功能。了解工业环境的冲击和振动冲击是指突然的、高强度的冲击,例如重物撞击系统或运输过程突然停止。另一方面,振
    的头像 发表于 05-19 15:27 619次阅读
    工业<b class='flag-5'>计算机</b>如何设计用于冲击和振动