下面我们以一个医学图像实例分割任务为例,来介绍在 PyTorch 框架下如何使用 U-Net++ 网络。U-Net++ 是在经典 U-Net 基础上进行改进的语义分割网络,它通过引入密集跳跃连接和深层监督机制,增强了特征融合能力与梯度传播效果,特别适用于医学图像中边界模糊、结构复杂的分割任务。

1.数据预处理

1.数据集介绍

这个数据集是一些细胞图像,我们的目标是做前景背景分离,对每一个细胞做实例分割。数据集有以下特点:

阅读全文 »

1.图像分割

虽然图像分割(Image Segmentation)与目标检测(Object Detection)都属于计算机视觉中的视觉识别任务,但它们的目标、输出形式和应用场景各不相同:

  • 目标检测(Object Detection):找出图像中有哪些物体,并框出每个物体的位置,比如说检测行人、车辆,以边界框 + 类别标签为输出形式。
  • 图像分割(Image Segmentation):精确地标出图像中每个像素属于哪个类别,以每个像素的类别标签为输出形式。
阅读全文 »

1. Transformer

我们可以尝试用一个例子来理解 Transformer 的各个概念。学生在课堂上进行小组讨论写作文:一个班级里有一群学生,每个学生负责贡献一句话来完成一篇作文。他们必须交流彼此的观点(信息),形成一篇通顺的文章。这就像 Transformer 处理一个序列(比如一句话)时的过程。

1. 输入嵌入(Input Embedding)

将原始的输入(如词、图像特征等)映射到一个高维向量空间中,便于 Transformer 网络进行后续处理。

就像每个学生都先写好一句话的草稿,用于后续讨论。每句话被转成一个有意义的表达——每个词转成向量。

阅读全文 »

1.基本使用

1.YOLOv5整体概述

YOLOv5本质上是一个经过大量优化的工程项目,不像前几代那样有对应的学术论文。它主要是在YOLOv4的基础上做了更实用的工程改进,让使用者能更轻松地应用到实际场景中。主要有以下特点:

  1. 工程优化为主
    • 没有官方论文,核心改进在于代码实现,比如训练效率、代码可读性
    • 相比YOLOv4,工程结构更简洁,配置更直观,适合直接拿来训练自己的数据
  2. 使用体验升级
    • 作者把数据增强、模型结构(如CSP、SPP模块)等复杂逻辑封装得很好,使用者几乎不用改代码
    • 支持混合精度训练,训练速度更快,对硬件要求更友好
阅读全文 »

1.YOLO-V3

1.网络架构改进

提升特征提取能力和训练稳定性​​

1.残差连接(Residual Connections)​

残差连接 是指在神经网络中将输入 x 直接跳跃连接(shortcut)加到输出 F(x) 上的那一条路径。数学形式如下:
$$
y = F(x) + x
$$

  • 其中:
    • x:输入
    • F(x):一系列卷积层后的输出(即“主干路径”)
    • x 是“旁路路径”或称“跳跃连接”
    • 两者相加形成最终输出 y
      这条连接就是 “残差连接”,它是 结构中的一条数据路径
阅读全文 »

1.YOLOv2改进概述

YOLOv2 的改进围绕 ​稳定性​(BN、位置预测)、灵活性​(全卷积、多尺度)、数据驱动​(锚框聚类)展开,同时通过结构优化(Darknet-19、Passthrough)平衡速度与精度,为后续YOLO版本再改进奠定基础。

如上图是YOLOv2的新特性和mAP(mean Average Precision,平均精度均值)之间的相关性。

阅读全文 »

1.物体检测评估指标

1.TP / FP / FN / TN

这四个指标是分类任务的基础:
TP(True Positive):预测为正,且是真正的正样本(比如检测到了一个人,且确实是人)
FP(False Positive):预测为正,但实际上是负样本(检测到了人,但其实是背景或别的物体)
FN(False Negative):实际是正样本,但没检测出来(图里有人,模型没发现)
TN(True Negative):负样本预测为负(对物体检测来说,通常不关注 TN)

举个例子

阅读全文 »

1.dlib

dlib 是一个用 C++ 编写的开源机器学习库,同时也提供了 Python 接口,它被广泛应用于计算机视觉和机器学习领域:

1.​人脸识别与生物特征分析

dlib 的人脸检测和关键点定位功能是其最突出的应用方向。通过预训练模型(如 HOG + SVM 或深度学习模型),dlib 可实现高效的人脸检测、68 个面部关键点定位(如眼睛、嘴唇、下巴等)

阅读全文 »

1.目标追踪

目标追踪(Object Tracking)是指在视频序列中持续追踪目标的位置,这是计算机视觉中的核心难点,其核心挑战包括遮挡、光照变化和快速运动。在视频分析、自动驾驶、智能监控、人机交互等领域中应用广泛。

1.按任务类型分类

  1. 单目标追踪(SOT, Single Object Tracking):只追踪一个初始帧中给定的目标,典型方法如:
    1. Siamese-based Tracking(孪生网络)
    2. Transformer-based Tracking
  2. 多目标追踪(MOT, Multi-Object Tracking):同时追踪多个目标,通常包括目标检测与数据关联两个阶段,典型方法如:
    1. 基于检测的跟踪(Tracking-by-Detection)
    2. 端到端方法
  3. 多摄像头追踪(MTMC, Multi-Camera Multi-Object Tracking):跨视角数据关联,更复杂的特征匹配,常结合ReID、时空建模、图神经网络等

2.传统目标追踪算法

除了基于深度学习的追踪算法,还有依赖传统的机器学习的目标追踪算法,它们适用于某些轻量级、实时或资源受限的场景(如嵌入式设备)。

阅读全文 »

1.实现流程

  1. 训练基于VGG16的迁移学习图像分类模型,使其能够分类每个车位有车或者没车
  2. 通过OpenCV处理停车场图片,分割成单个车位图像数据
  3. 基于训练模型识别并绘制出空车位

2.模型训练

1.VGG16

VGG16 是由牛津大学 Visual Geometry Group(VGG)在 2014 年提出的经典卷积神经网络(CNN)模型,主要用于图像分类任务。其核心特点是:

  • 结构简单但深度大:由 ​16 层​(13 个卷积层 + 3 个全连接层)组成,使用 ​3x3 小卷积核堆叠​(通过多层小卷积核模拟大感受野)。
  • ImageNet 竞赛的里程碑:在 2014 年 ImageNet 大规模视觉识别挑战赛(ILSVRC)中取得第二名(Top-5 错误率 7.3%),证明了深度网络对视觉任务的重要性。
  • 标准化设计:所有卷积层使用相同配置(3x3 卷积核,步长 1,填充 same),全连接层统一为 4096 个神经元。
阅读全文 »
0%