当前位置: 首页 > news >正文

图像处理算法面经1

普通概念

卷积神经网络(CNN,Convolutional Neural Network)

原理:CNN 受到人类视觉神经系统的启发,通过卷积层、池化层和全连接层构建网络。卷积层使用卷积核在输入数据上滑动进行卷积操作,提取局部特征;池化层用于降低数据维度,减少计算量并增强特征的鲁棒性;全连接层则将提取的特征进行整合,完成分类或回归等任务。
应用场景:在图像识别(如人脸识别、物体检测)、语音识别、自然语言处理(如文本分类)等领域有广泛应用。

循环神经网络(RNN,Recurrent Neural Network)

原理:RNN 引入了循环结构,允许网络在处理序列数据时保存之前的信息。它通过隐藏状态在不同时间步之间传递信息,从而对序列数据进行建模。然而,传统 RNN 存在梯度消失或梯度爆炸的问题,导致难以学习长期依赖关系。
应用场景:主要用于处理序列数据,如自然语言处理中的机器翻译、文本生成,语音识别中的语音序列处理等。

生成对抗网络(GAN,Generative Adversarial Network)

原理:GAN 由生成器(Generator)和判别器(Discriminator)两个神经网络组成。生成器尝试生成逼真的数据,而判别器则负责区分生成的数据和真实数据。两者通过对抗训练不断提升性能,生成器最终能够生成高质量的合成数据。
应用场景:图像生成(如生成逼真的人脸、风景图像)、数据增强、风格迁移等。

Transformer

原理:Transformer 完全基于注意力机制,摒弃了传统的循环结构和卷积结构。它由编码器和解码器组成,编码器负责对输入序列进行特征提取,解码器则根据编码器的输出生成目标序列。Transformer 通过多头注意力机制捕捉序列中不同位置之间的依赖关系。
应用场景:在自然语言处理领域取得了巨大成功,如机器翻译、文本摘要、问答系统等,也逐渐应用于计算机视觉等其他领域。

注意力机制(Attention)

原理:注意力机制模拟了人类的注意力分配方式,允许模型在处理序列数据时聚焦于序列中的重要部分。它通过计算查询(Query)、键(Key)和值(Value)之间的相似度,为不同位置的元素分配不同的权重,从而动态地选择重要信息。
应用场景:广泛应用于自然语言处理和计算机视觉等领域,是 Transformer 等模型的核心组件,可提升模型对序列数据的处理能力。

YOLO(You Only Look Once)

YOLO(You Only Look Once)是一种实时目标检测算法,由 Joseph Redmon 等人在 2015 年提出。它以其快速的检测速度和较高的检测精度,在目标检测领域得到了广泛应用。
算法原理
YOLO 算法的核心思想是将目标检测问题转化为一个回归问题,通过一个单一的神经网络直接在图像上预测边界框和类别概率。
具体步骤如下:
图像划分:将输入图像划分为 (S\times S) 个网格。如果某个目标的中心落在某个网格内,那么该网格就负责检测这个目标。
预测输出:每个网格需要预测 B 个边界框(bounding box)及其置信度(confidence score),以及 C 个类别概率。每个边界框由 ((x, y, w, h)) 四个值表示,其中 ((x, y)) 是边界框的中心坐标,((w, h)) 是边界框的宽度和高度。置信度表示边界框中包含目标的可能性以及边界框的预测准确性。
置信度计算:置信度的计算公式为 (Pr(Object)\times IOU_{pred}^{truth}),其中 (Pr(Object)) 表示网格中是否存在目标的概率,(IOU_{pred}^{truth}) 是预测边界框与真实边界框的交并比(Intersection over Union)。
类别预测:每个网格还需要预测 C 个类别概率 (Pr(Class_i|Object)),表示在存在目标的前提下,该目标属于第 i 类的概率。
最终输出:将置信度与类别概率相乘,得到每个边界框属于各个类别的得分,通过设定阈值过滤掉得分较低的边界框,并使用非极大值抑制(NMS)去除重叠的边界框,最终得到检测结果。
发展历程
YOLOv3:2018 年推出,进一步改进了网络结构,使用了多尺度预测和特征融合技术,能够检测不同大小的目标。同时,采用了更复杂的损失函数,提高了检测精度。
YOLOv5:由 Ultralytics 公司开发,虽然没有正式的学术论文发表,但在实际应用中得到了广泛使用。它具有代码简洁、易于使用和训练速度快等优点,提供了不同规模的模型供用户选择。
YOLOX:2021 年提出,采用了无锚框(anchor-free)的检测方法,简化了模型结构,提高了检测效率。同时,引入了解耦头(Decoupled Head)和标签分配策略(Label Assignment)等技术,进一步提升了检测性能。
YOLOv8:同样由 Ultralytics 公司开发,是 YOLO 系列的最新版本。它支持图像分类、目标检测、实例分割和关键点检测等多种任务,并且在性能上有了进一步的提升。
优点
速度快:YOLO 算法将目标检测作为一个回归问题处理,通过一个神经网络直接预测边界框和类别概率,不需要像传统方法那样进行多次特征提取和分类,因此检测速度非常快,能够满足实时应用的需求。
端到端训练:YOLO 算法可以进行端到端的训练,即从输入图像到输出检测结果只需要一个网络,简化了训练过程,提高了训练效率。
全局信息利用:YOLO 算法在预测时考虑了整个图像的信息,能够更好地捕捉目标的上下文信息,减少了背景误检的情况。
缺点
定位精度有限:由于每个网格只能预测有限个边界框,对于密集分布的小目标,YOLO 算法的检测精度可能会受到影响。
小目标检测效果不佳:YOLO 算法在处理小目标时,由于网格划分和特征提取的限制,可能无法准确地检测到小目标。
对不同尺度目标适应性不足:虽然后续版本的 YOLO 算法采用了多尺度预测等技术,但对于尺度变化较大的目标,仍然存在一定的检测难度。

机考

字符串匹配

反转链表

在这里插入图片描述

迭代(双指针)

代码

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        cur, pre = head, None
        while cur:
            tmp = cur.next # 暂存后继节点 cur.next
            cur.next = pre # 修改 next 引用指向
            pre = cur      # pre 暂存 cur
            cur = tmp      # cur 访问下一节点
        return pre

寻找旋转排序数组中的最小值

在这里插入图片描述

二分查找

在这里插入图片描述

代码

class Solution:
    def findMin(self, nums: List[int]) -> int:
        left, right = -1, len(nums) - 1  # 开区间 (-1, n-1)
        while left + 1 < right:  # 开区间不为空
            mid = (left + right) // 2
            if nums[mid] < nums[-1]:
                right = mid
            else:
                left = mid
        return nums[right]

问题参考

牛客:https://www.nowcoder.com/discuss/737051368216702976?sourceSSR=search

代码参考

@灵茶山艾府

相关文章:

  • 产品需求设计评审会:三步精准定位需求核心
  • std::enable_shared_from_this 模板类的作用是什么?
  • KEGG注释脚本kofam2kegg.py--脚本010
  • 小程序页面传值的多种方式
  • SQL语言
  • 力扣hot100_技巧_python版本
  • Multisim使用说明详尽版--(2025最新版)
  • 高效爬虫:一文掌握 Crawlee 的详细使用(web高效抓取和浏览器自动化库)
  • CS5346 - Interactivity in Visualization 可视化中的交互
  • Java 架构设计:从单体架构到微服务的转型之路
  • 大语言模型深度思考与交互增强
  • 策略模式随笔~
  • 适合单片机裸机环境的运行的软件定时器框架
  • Linux 下 Module 工具的介绍与使用
  • 深入解读:2024 可信数据空间建设及应用参考指南【附全文阅读】
  • Go 语言中的局部变量是分配在栈区还是堆区
  • 数据结构-限定性线性表 - 栈与队列
  • 在Mac上离线安装k3s
  • HarmonyOS:页面滚动时标题悬浮、背景渐变
  • 【微服务管理】深入理解 Gateway 网关:原理与实现
  • 美航母一战机坠海,美媒:为躲避胡塞武装攻击,损失超六千万美元
  • 广西干旱程度有所缓解,未来一周旱情偏重地区降水量仍不足
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”
  • 牛市早报|今年国内核电项目审批首次开闸,离境退税起退点下调
  • 价格周报|猪价继续回暖:二次育肥热度仍存,对猪价仍有一定支撑
  • 一周文化讲座|“不一样的社会观察”