为什么ViT在ImageNet上吊打CNN?深入拆解16x16图像块的魔力设计

ImageBind:构建六模态共享嵌入空间的多模态学习新范式 多模态学习正从两两对齐迈向统一语义表征,其核心在于打破模态壁垒、实现跨模态理解与泛化。ImageBind通过共享骨干网络、全局对比学习与零样本模态绑定,首次在单一向量空间中对齐图像、文本、音频、深度图、热成像和IMU六种物理感知模态,使不同感官信号可直接度量语义相似性。该架构不仅显著提升跨模态检索、零样本分类与多源融合推理能力,更支撑工业质检、环境感知、无障碍交互等真实场景——无需模态配对数据即可实现声音匹配热图、文本触发深度重建等高阶任务。本文深入解析其共享嵌入空间的设计原理与工程落地关键。 阅读详情

为什么16x16的图像块,成了视觉Transformer颠覆CNN的起点?

几年前,如果有人告诉你,把一张图片简单地切成一个个16x16像素的小方块,然后像处理句子里的单词一样去处理它们,就能在图像识别任务上超越深耕数十年的卷积神经网络,你可能会觉得这想法过于天真。然而,这正是Vision Transformer(ViT)在2020年横空出世时所做的事情。它没有使用任何卷积操作,仅仅依靠标准的Transformer编码器,就在大规模图像分类任务上取得了令人瞩目的成绩,甚至在某些场景下“吊打”了当时的顶尖CNN模型。这背后,那个看似简单的“16x16图像块”策略,绝非随意选择,而是融合了计算效率、模型容量与数据驱动哲学的精妙设计。对于技术决策者和研究者而言,理解这个设计背后的“魔力”,远比单纯比较准确率数字更有价值。它关乎我们如何重新思考计算机视觉模型的根本架构,以及在什么条件下,一种全新的范式能够脱颖而出。

1. 从序列到图像:ViT核心思想的重构

传统的卷积神经网络(CNN)其强大之处在于其内置的归纳偏置——即模型对数据所做的先验假设。例如,卷积核的局部连接特性假设了图像中相邻像素间的关系更为重要,权重共享则假设了某种平移不变性。这些偏置在数据量有限时极为有效,它引导模型快速学习到图像的本质特征,避免了在浩瀚的像素空间里盲目搜索。

而Transformer架构,最初为自然语言处理设计,其核心是自注意力机制。它没有对数据的局部性做任何先验假设,而是让模型通过训练,自行发现序列中任意两个元素(单词)之间的关系。这种“关系发现”的能力是全局的、动态的。

ViT所做的,是一次大胆的“降维打击”式重构。它抛弃了CNN的卷积滑动窗口,选择了一条更直接的路径:

  1. 图像分块:将输入图像(例如224x224分辨率)分割成固定大小(如16x16)的非重叠网格。每个网格块包含16x16x3=768个像素值(假设是RGB三通道)。
  2. 线性投影:将每个图像块展平为一个向量,并通过一个可训练的线性层(全连接层)映射到一个固定的维度D(例如768)。这个过程,相当于为每个“视觉单词”学习了一个嵌入表示。
  3. 构建序列:将所有图像块的嵌入向量,加上一个额外的可学习的[class] token嵌入和一个可学习的位置嵌入,按顺序排列,就构成了一个长度为 N+1 的序列(N为图像块数量)。这个序列可以直接输入标准的Transformer编码器。
# 一个简化的ViT图像分块与嵌入过程示意(使用PyTorch风格)
import torch
import torch.nn as nn

class PatchEmbed(nn.Module):
    def __init__(self, img_size=224, patch_size=16, in_chans=3, embed_dim=768):
        super().__init__()
        self.img_size = img_size
        self.patch_size = patch_size
        self.num_patches = (img_size // patch_size) ** 2

        # 使用一个卷积层同时完成分块和线性投影
        self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size)

    def forward(self, x):
        # x: [B, C, H, W]
        x = self.proj(x)  # [B, embed_dim, H/patch_size, W/patch_size]
        x = x.flatten(2).transpose(1, 2)  # [B, num_patches, embed_dim]
        return x

# 假设输入为一批224x224的RGB图像
batch_size = 4
x = torch.randn(batch_size, 3, 224, 224)
patch_embed = PatchEmbed()
patches = patch_embed(x)  # 输出形状: [4, 196, 768]
print(f"将图像分割为 {patches.shape[1]} 个图像块,每个块嵌入维度为 {patches.shape[2]}")

这个流程的关键在于,它将二维的空间结构问题,转化为了一个一维的序列建模问题。模型不再需要理解“上下左右”的二维关系(这部分信息由位置嵌入隐式提供),而是专注于学习图像块之间的语义关联。这种转换,使得NLP领域最强大的序列建模工具——Transformer,得以在视觉领域大展拳脚。

注意:这里的“单词”类比是理解ViT的绝佳切入点,但它与NLP中的单词有本质不同。图像块是连续信号的低级表示,缺乏自然语言中离散的、高层次的语义。ViT需要从这些低级“视觉词根”开始,自底向上地构建语义理解。

2. 16x16:一个权衡计算、信息与性能的甜蜜点

为什么是16x16?而不是8x8、32x32,或者像CNN那样多尺度的感受野?这个选择是ViT设计中最具工程智慧的一环,它是在模型表达能力、计算复杂度和信息保留之间反复权衡后的结果。

首先,我们从计算复杂度的角度来分析。 Transformer自注意力机制的计算复杂度与输入序列长度的平方成正比。对于一个分辨率为 H x W 的图像,当使用 P x P 的分块大小时,生成的序列长度 N = (H*W) / (P*P)。

分块大小 (P)序列长度 (N, 对于224x224)自注意力复杂度 (相对值,O(N²))
8x8784非常高 (~614,656)
16x16196中等 (~38,416)
32x3249低 (~2,401)

从上表可以清晰看出,16x16的分块策略将序列长度控制在了196这个相对合理的数量级。如果采用8x8,序列长度激增至784,自注意力的计算和内存开销将变得难以承受。而如果采用32x32,序列长度骤降至49,虽然计算效率极高,但每个图像块过大,丢失了过多的细粒度空间信息,相当于在建模的起点就进行了强烈的下采样,不利于模型捕捉细节特征。

其次,分块大小直接影响每个“视觉单词”的信息含量。 一个16x16的块,包含了768个原始像素值。这个尺寸的块,已经可以承载一些有意义的局部模式,比如一小段边缘、一个角点,或者纹理的一部分。它既不像8x8那样过于琐碎(信息原子化,增加了序列建模的难度),也不像32x32那样过于粗糙(可能已经包含了多个物体部件,失去了局部性)。

提示:在原始ViT论文的实验中,作者们对比了不同分块大小(如32x32, 16x16, 14x14等)。结果表明,在相同模型容量和计算预算下,16x16通常能取得最佳的性能平衡。更小的分块(如14x14)有时能在顶级数据集上带来微幅提升,但计算成本增加显著,性价比不高。

最后,这个选择与Transformer的架构特性深度耦合。 Transformer擅长建模长程依赖,但对序列中每个元素(图像块)的初始表示要求较高。16x16的块经过线性投影后,其嵌入向量能够编码一个相对完整、信息密度适中的局部视觉特征。这为后续的多头自注意力层进行全局信息交互提供了一个良好的“讨论素材”。

我们可以通过一个简单的思想实验来理解:如果把整张224x224的图片作为一个“单词”,Transformer将无从下手,因为单个向量无法表达复杂的空间结构。如果把每个像素作为一个“单词”,序列过长且每个“单词”信息量太低。16x16,正是在“整体”与“原子”之间找到的那个平衡点,它让Transformer既能处理一个长度可控的序列,又能让序列中的每个元素本身具备一定的表征能力。

3. 位置编码:让Transformer“看见”空间结构

将图像切成网格并打平成序列后,一个最严重的问题出现了:模型完全丧失了二维空间位置信息。在原始序列中,第10个块和第11个块在模型看来只是索引不同,但模型并不知道它们在原始图像中是相邻的。这对于需要理解空间布局的图像任务(如分类、检测)是致命的。

ViT解决这个问题的方式,是引入了位置编码。具体来说,它为序列中的每一个位置(包括[class] token和每一个图像块的位置)分配一个与嵌入维度相同的可学习向量,然后直接加到对应的嵌入向量上。

输入Transformer的向量 = 图像块嵌入 + 位置嵌入

这个操作看似简单,却至关重要。它相当于在告诉模型:“这个向量所代表的视觉内容,位于图像的(x, y)坐标处。” 模型通过训练,可以学会如何利用这些位置信息。

有趣的是,ViT论文中发现,学习到的位置编码展现出了清晰的二维空间结构。 研究人员通过计算不同位置编码之间的余弦相似度发现:

  • 空间距离近的图像块,其位置编码也更相似。
  • 同行或同列的图像块,其位置编码也表现出聚类特性。
  • 在某些情况下,甚至能观察到类似正弦波的结构。

这表明,尽管模型没有显式地被灌输“二维邻域”的概念,但它通过数据驱动的方式,自己从任务中学习到了图像固有的空间拓扑关系。这也解释了为什么在ViT中,使用更复杂的手工设计的位置编码(如二维正弦编码)并没有带来显著的性能提升——模型自己已经学得足够好了。

# 位置编码的简单示意
class VisionTransformer(nn.Module):
    def __init__(self, num_patches, embed_dim):
        super().__init__()
        # 可学习的位置嵌入,形状为 [1, num_patches+1, embed_dim]
        self.pos_embed = nn.Parameter(torch.zeros(1, num_patches + 1, embed_dim))
        # [class] token
        self.cls_token = nn.Parameter(torch.zeros(1, 1, embed_dim))

    def forward(self, x):
        # x: [B, num_patches, embed_dim]
        B = x.shape[0]
        cls_tokens = self.cls_token.expand(B, -1, -1)  # 扩展到batch维度
        x = torch.cat((cls_tokens, x), dim=1)  # 拼接[class] token
        x = x + self.pos_embed  # 加上位置编码
        # ... 后续输入Transformer编码器
        return x

位置编码是ViT中为数不多的、注入图像特定归纳偏置的地方。另一个地方是在微调更高分辨率图像时,对预训练位置嵌入进行双线性插值,以适应新的网格尺寸。这两个设计点非常克制,却有效地弥补了纯Transformer架构在视觉任务上的先天不足。

4. 与CNN的终极对决:归纳偏置 vs. 数据驱动

ViT与CNN的核心差异,归根结底是哲学上的差异:强归纳偏置引导 vs. 弱归纳偏置下的数据驱动学习。

CNN像一个经验丰富的老师,从一开始就告诉学生:“看图片,要先看局部,再看整体;一个特征无论在图片的哪个位置出现,它都是同一个特征。” 这种强引导在数据少的时候非常高效,学生能快速上手。

ViT则像一个采用探索式教学法的老师,它给学生一堆打乱的拼图块(图像块),然后说:“你们自己讨论,找出它们之间的关系,并告诉我整幅画是什么。” 这个过程初期可能更慢、更混乱,需要更多的“讨论”(计算)和更丰富的“案例”(数据)。但一旦学生(模型)通过海量案例学会了如何有效讨论,其形成的理解可能更加灵活和深入。

这种差异在实验数据上体现得淋漓尽致:

  • 小数据场景(如只在ImageNet-1K上训练):CNN(如ResNet)显著优于ViT。因为数据不足以让ViT从头开始学习所有视觉模式(如边缘、纹理)和空间关系,它容易过拟合。而CNN的卷积归纳偏置起到了强大的正则化作用,引导模型走向正确的学习方向。
  • 大数据场景(如在JFT-300M上训练):ViT的性能开始反超,并且模型越大,优势越明显。当数据量足够庞大时,ViT能够从数据中自动学习到甚至比卷积核更优的特征提取方式,其全局注意力机制也能捕捉到CNN感受野难以触及的长距离依赖关系。此时,CNN的强归纳偏置反而可能成为一种限制。

下表概括了ViT与典型CNN(如ResNet)在几个关键维度的对比:

特性维度Vision Transformer (ViT)卷积神经网络 (CNN,如ResNet)
核心操作全局自注意力局部卷积、池化
归纳偏置极弱(仅位置编码、分块)极强(局部性、平移等变性、层次结构)
感受野第一层即可达到全局随网络深度逐层扩大
数据效率较低,需要海量数据预训练较高,中等规模数据即可有效训练
计算效率序列长度平方级复杂度,对长序列不友好计算高效,与图像大小呈线性关系
可解释性注意力图可直接显示模型关注区域特征图可解释,但高层语义融合复杂
扩展性模型规模(深度、宽度、注意力头)扩展性极佳扩展受梯度消失/爆炸等问题限制,需精心设计

这个对比揭示了ViT成功的必要条件:大规模预训练。没有海量数据,ViT的“数据驱动”优势就无法发挥,其弱点(数据效率低)就会暴露。这也正是为什么ViT论文的标题强调“At Scale”(大规模)。它不是用来替代所有场景下的CNN,而是在数据充裕的新时代,为我们提供了一种更强大、更灵活的视觉建模新范式。

5. 超越分类:ViT分块策略的泛化与工程实践

理解了16x16分块的精髓后,我们自然会问:这个策略是普适的吗?在实际工程中,我们该如何应用和调整?

首先,分块大小并非一成不变。 对于不同分辨率、不同任务的数据,最优分块尺寸可能需要调整。

  • 高分辨率图像:对于医疗影像、卫星图片等,输入分辨率可能达到512x512甚至更高。直接使用16x16分块会导致序列长度剧增(如1024)。常见的做法是增大分块尺寸(如32x32),或者在骨干网络前端加入一个轻量的“ Stem ”网络(由少量卷积层组成)进行初步下采样,再分块输入Transformer。
  • 计算资源受限:在边缘设备上,为了降低延迟,可以使用更大的分块(如32x32)来显著减少序列长度,虽然会损失一些精度,但能换来实时的推理速度。
  • 密集预测任务:在目标检测、语义分割等任务中,需要像素级或区域级的高分辨率特征图。单纯的ViT分块会丢失细节。衍生模型如Swin Transformer引入了层级结构和滑动窗口注意力,它在不同阶段进行块合并,形成特征金字塔,同时将计算限制在局部窗口内,既保持了Transformer的全局建模能力,又获得了CNN的多尺度特征优势。

其次,混合架构的探索从未停止。 最初的ViT论文也探索了“混合模型”,即用CNN(如ResNet)的中间特征图作为ViT的输入序列。这种架构试图结合两者的优点:CNN早期层高效提取低级特征,ViT后期层进行全局关系建模。实验发现,在中等计算预算下,混合模型有时能略胜一筹,但当模型和数据规模都变得非常大时,纯ViT的优势更加明显。这暗示着,在足够的数据和算力下,Transformer有能力从原始信号中学习到从低级到高级的全部特征,无需CNN作为前置特征提取器。

在实际部署ViT类模型时,有几个工程细节值得关注:

  1. 位置编码插值:当在ImageNet-1K(224x224)上预训练的ViT,需要应用到更高分辨率(如384x384)的下游任务时,直接推理会因位置编码数量不匹配而失败。标准的做法是对预训练的位置嵌入进行二维双线性插值,使其适应新的网格布局。这是一个简单却至关重要的技巧。
  2. 计算优化:自注意力的O(N²)复杂度是瓶颈。除了使用更大的分块,还可以采用线性注意力、分块局部注意力、因子化注意力等近似算法来加速。此外,像FlashAttention这样的IO感知精确注意力算法,能极大优化GPU内存访问,提升训练和推理速度。
  3. 知识蒸馏:大型ViT模型参数多、推理慢。可以通过知识蒸馏,将一个大ViT(教师模型)的知识压缩到一个更小的ViT或CNN(学生模型)中,在保持大部分性能的同时大幅降低部署成本。

ViT及其后续变体的出现,不仅仅是带来了一个新的SOTA模型,更重要的是它拓宽了计算机视觉的架构设计思路。它证明了,即使在视觉这种具有强空间结构的数据上,基于纯粹注意力机制的、弱归纳偏置的模型,只要给予足够的数据和计算资源,同样可以取得卓越的性能,甚至在某些方面超越基于卷积的经典范式。这鼓励研究者们去探索更多非卷积的视觉基础模型,也促使我们重新审视那些曾被我们视为“理所当然”的架构先验。对于技术决策者来说,选择ViT还是CNN,不再是一个简单的“谁更好”的问题,而是一个需要综合考量数据规模、计算预算、任务需求和部署环境的战略决策。在数据为王的时代,ViT无疑为我们提供了一把打开更高性能之门的钥匙,而理解其16x16分块的设计哲学,则是握住这把钥匙的第一步。

《图像处理与计算机视觉》全套课件PDF(武汉工程大学) 获取 《图像处理与计算机视觉》全套课件PDF(武汉工程大学)::https://download.youkuaiyun.com/download/m0_54748666/93260852。《图像处理与计算机视觉》全套课件PDF(武汉工程大学)第二讲-图像及其表达与性质.pdf。第五讲-图像形态学变换.pdf。第四讲-图像数据压缩.pdf。第三讲-图像预处理.pdf。第六讲-图像分割.pdf。第七讲-目标识别.pdf。第一讲-导论.pdf。 阅读详情

相关推荐

别再羡慕专业版!用这个批处理脚本,一键给Win11家庭版装上官方沙盒

本文详细介绍了如何通过批处理脚本在Windows 11家庭版上安装官方Windows沙盒(Windows Sandbox),无需复杂操作即可享受专业版功能。脚本自动激活系统内置组件,提供安全隔离的虚拟化环境,适用于软件测试、安全浏览等场景。

weixin_26757925的博客 499

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 972

基于Python爬虫的新闻热点分析与挖掘

本文介绍了基于Python爬虫的新闻热点分析与挖掘方法,主要包括数据收集、预处理、热点分析和可视化四个部分。首先通过爬虫抓取新浪新闻数据,利用文本清洗和存储技术进行数据预处理;接着采用TF-IDF和LDA算法进行关键词提取与主题建模;最后通过词云图和主题分布图实现数据可视化。该方法能有效识别新闻热点,为信息筛选和决策提供支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1547

基于深度学习的猫狗目标检测(Python+YOLO26m+Django)实现详解

详解基于深度学习的猫狗目标检测系统:YOLO26m迁移学习训练、数据划分与错标检测、ONNX导出、Energy阈值拒识、Django+Vue网站部署,附后端核心代码。

WEIXIN_JSJBSZDS的博客 378

lgv20刷twrp_LG港版v20 root

这是LG港版v20 root,整理了一下有关LG港版v20的官方固件包了,有没有需要的呢,这里把固件包整理一下也是方便大家以后好下载了,因此有一些机友还是不知道在哪里下载官方的rom包,在这里说的固件rom包也就是原版的系统包了,大家可以放心的使用,这些系统包也都是支持线刷的,大家下载下来解压出来根据里面的相关教程来操作就可以了,很简单的,如果你也需要的话就一起来看看吧。软件提示注意!! 此过程会...

weixin_33212263的博客 5390

Windows 10错误代码解析与系统故障排除指南

操作系统错误代码是系统运行状态的直接反馈,Windows系统通过特定编码机制将故障信息转化为可识别的错误代码。从技术原理看,这些代码通常对应特定的异常处理流程,包括内存管理、驱动兼容性、文件系统等核心模块。理解错误代码对于系统维护具有重要价值,能快速定位问题根源,提高故障排除效率。在实际应用场景中,蓝屏错误(如0x0000007B)、系统升级失败(如0x80070002)和启动故障是最常见的三类问题。通过分析dump文件、使用WinDbg工具和系统内置诊断功能,可以有效解决大部分系统异常。特别是对于蓝屏错误

weixin_30516429的博客 299

航拍水葫芦检测数据集深度学习 目标检测 无人机航拍 水葫芦 水域监测 YOLO格式 数据集发布9031期

航拍水葫芦检测数据集深度学习 目标检测 无人机航拍 水葫芦 水域监测 YOLO格式 数据集发布9031期

qq_2529413168的博客 301

新手必看:Infineon Memtools烧录配置全流程(附常见错误解决方案)

本文为嵌入式开发新手提供了Infineon AURIX开发环境搭建与Memtools烧录的全流程实战指南。详细解析了ADS、DAS和Memtools三大核心工具的角色与协同关系,并重点讲解了Memtools的图形界面配置步骤、烧录操作流程,以及针对“无法连接设备”、“编程失败”等常见错误的系统性排查与解决方案,帮助开发者快速上手并规避典型陷阱。

weixin_29189377的博客 636

基于 YOLOv8 的轴承缺陷检测(Web 版)

本项目是轴承表面缺陷检测模型的 Web 端实现。围绕 YOLOv8 在轴承表面缺陷数据集上完成四类缺陷的检测模型训练后,使用 FastAPI 把模型能力封装为可直接登录使用的 Web 检测平台。平台覆盖从数据准备、模型训练、指标评估,到推理服务、历史沉淀、统计分析的完整链路。除了常规的图片、批量、视频、摄像头检测,还把模型训练搬到了网页上:可以在浏览器里配置超参数发起真实训练,训练中在线调整学习率、查看实时曲线与日志,训练完成后把权重一键应用到检测服务,形成「训练 → 评估 → 检测」的闭环。

Michael_Jay的博客 291

SpringBoot系列之实现一个AI聊天助手

本文介绍了基于Spring Boot框架实现的AI聊天助手项目。该项目使用Spring Boot 3.2.3、Spring AI 1.0.0-M5等技术栈,集成DeepSeek-R1-Distill-Llama-8B模型实现智能对话功能。文章详细介绍了项目配置流程、运行方式和核心代码实现,包括ChatMessage模型类和服务类ChatService的关键功能,如消息处理、历史记录管理和AI响应获取等。读者可通过提供的GitHub链接获取完整代码,快速搭建自己的AI聊天应用。

Nicky's blog 1453

Vue3 - Element Plus 表格组件 el-table “表格行数据中又嵌套了二维对象数组“,按平级循环渲染(嵌套数组视为同级行数据), 对嵌套的数组循环展示为表格,智能合并行或列详细教程

vue3,nuxt3,element-plus,table表格组件,el-table,vue3element表格组件,数据中有二维数组怎么遍历循环显示,表格数据带二级数组怎么循环渲染显示,表格数据中存在一个数组要怎么才能显示到表格,el-table表格合并详细教程示例,table表格如果对象里面还有对象数组那该怎么去渲染,平常都是数组中一个对象渲染成一行,每行中还有嵌套数组怎么办,每个行数据下还有一个数组怎么显示,怎么把表格相同的数据合并为一行,合并上下两行相同数据单元格,合并行或列如果遇到相同单元格就合

🏆 前端领域优质创作者 1万+

目标检测 16 道高频思考题全解——从 Faster R-CNN 到 YOLO v1 的复习手册

无论哪个版本,loss、输出形状、一次前向都只反映训练/前向过程,真正衡量检测好坏仍要靠独立验证集上的 Precision、Recall、AP、mAP——这是模型"检得准不准"的唯一可靠口径。随机初始化的 RPN 可能没提出与真实实例 IoU 达标(≥0.5)的正 RoI,那么即使图像里有有效 mask,这个 batch 也没有可用的正样本 RoI,loss 自然为 0。课程项目用的是 7×7 网格。把"在哪里"和"是什么"分开,每个候选区域都能拿到充分的特征计算资源做精细分类与回归,精度天花板更高。

anew___的博客 271

第一章:GEE 和 GEEMAP

在本章中,我们将介绍地理空间数据科学、谷歌地球引擎和地理地图的基础知识。然后,我们将逐步完成设置 conda 环境和安装 geemap 的步骤。我们还将学习如何在不在您的计算机上安装任何东西的情况下将 geemap 与 Google Colab 一起使用。...

韩天放 8051

目标检测上机实战手册——四套环境、COCO 数据坑与训练闭环验证全清单

跑目标检测项目,难的不是"看懂原理",而是"跑通并确认它真的跑对了"。这份手册把 Faster R-CNN、Mask R-CNN、YOLO v3、YOLO v1 四个上机项目里所有工程层面的坑一次性整理出来:环境怎么隔离、COCO 标注怎么转、训练一 batch 到底在验证什么、哪些数字能看哪些不能信。

anew___的博客 167

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【无标题】无人机雾霾场景目标检测数据集深度学习 目标检测 无人机航拍 雾霾场景 车辆检测 YOLO格式 数据集发布9039期

无人机雾霾场景目标检测数据集深度学习 目标检测 无人机航拍 雾霾场景 车辆检测 YOLO格式 数据集发布9039期

qq_2529413168的博客 144

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

无人机航拍垃圾检测数据集深度学习 目标检测 无人机航拍 垃圾检测 环境卫生 YOLO格式 数据集发布9029期

无人机航拍垃圾检测数据集深度学习 目标检测 无人机航拍 垃圾检测 环境卫生 YOLO格式 数据集发布9029期

qq_2529413168的博客 229

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

YOLO算法室内环境玻璃瓶目标检测数据8979张:类别与标注速览

该数据集聚焦于室内环境中各类玻璃瓶的识别与定位,涵盖多种材质、颜色和形状的玻璃容器,适用于家庭、仓储、零售等场景下的物品管理与自动化识别需求。该数据集包含训练集7812张、验证集818张、测试集349张,共计8979张图像,分布结构合理,能够有效支持模型训练、调优与性能评估。落地场景大致有智能仓储管理系统、自动分拣设备、零售商品识别系统以及家庭安防监控等领域,尤其适用于需要对玻璃制品进行分类与追踪的工业与消费场景,具备良好的落地潜力与实用前景。数据量、场景复杂度、标注质量三样都过关,这份数据可以直接开训;

小秋的博客 255

桥梁挠度、隧道断面怎么自动测?视觉位移监测仪接入既有监测系统的实施笔记

视觉位移监测设备接入第三方平台,核心挑战不在通信协议,而在数据约定:测点身份、方向、单位、时间基准与状态位需提前对齐。项目按“项目—设备—数据类型”分级,消息体含完整字段(如采集时间、位移值、状态码、图像索引),支持高频采样与断网补传。补传以唯一键去重,分批限速;告警本地触发并同步上报。对接时需确认八项清单,包括字段映射、主题树、阈值等。设备具备双链路备份、宽温防护与自动角度校正,实测精度优于1mm,保障长期稳定运行。

weixin_43963569的博客 411

深度学习 目标检测 海上搜救 无人机巡检 海事安防 YOLO格式 数据集发布9036期

大规模海上人员搜救检测数据集深度学习 目标检测 海上搜救 无人机巡检 海事安防 YOLO格式 数据集发布9036期

qq_2529413168的博客 168

【无标题】无人机航拍高清农田及田内附着物检测数据集深度学习 目标检测 无人机航拍 农田检测 智慧农业 YOLO格式 数据集发布9034期

无人机航拍高清农田及田内附着物检测数据集深度学习 目标检测 无人机航拍 农田检测 智慧农业 YOLO格式 数据集发布9034期

qq_2529413168的博客 221

OpenCV入门:计算机视觉最常用的库安装与配置

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。全文依次讲解OpenCV安装与配置、图像基本操作、OpenCV绘图函数、视频处理、GUI操作详解、图像处理进阶、特征检测与匹配、图像拼接实战、相机标定、轮廓检测与分析、OpenCV与深度学习等内容。

2602_96795563的博客 408

OpenCV 车辆数量统计

涉及到的知识点:1)基本图像运算与处理2)形态学3)轮廓查找4)加载视频5)通过形态学识别车辆6)对车辆进行统计7)显示车辆统计信息。

ahccqw的博客 104

【无标题】无人机视角道路坑洞坑洼目标检测数据集深度学习 目标检测 无人机航拍 道路坑洞 路面病害 YOLO格式 数据集发布9032期

(一)类别构成该数据集聚焦单一类别——坑洞(类别 ID 为 0),任务指向明确,围绕无人机俯视视角下的道路坑洞目标开展检测标注。类别体系精简,与公路路面病害巡检的实际需求高度契合,图像中的坑洞样本可直接作为路面破损识别的核心正样本,便于对接道路养护排查流程。(二)数据数量数据集规模为 3285 张无人机俯视航拍图像,采用标准 YOLO txt 标注格式,标注框总计 4457 个,其中带有效标注的图片 2007 张,全部图片均带有有效标注。

qq_2529413168的博客 181

基于深度学习的猫图像目标检测方法研究:YOLOv8s模型海选、多种子对比训练与Django+ONNX部署实现详解

本课题基于深度学习研究猫图像目标检测问题。数据集含1000张猫图像、1188个标注框,按固定比例划分并冻结清单;训练前在多个候选族中短训海选,确定YOLOv8s为主模型,经学习率搜索与显存标定后完成150轮训练,验证集mAP50达到0.92,并以7个随机种子的对比实验验证稳定性。最优权重导出为ONNX接入Django系统,提供图片、视频、摄像头三种识别方式,配套识别记录管理与统计大屏,形成从训练到应用的完整闭环。

WEIXIN_JSJBSZDS的博客 212

基于深度学习的水下复杂场景鱼类目标检测系统:YOLOv8+Django实现详解

本课题面向水下复杂场景的鱼类检测问题,以YOLOv8s为主模型,在约8200张、13类的水下图像上完成训练。训练前通过短训海选自动选型,训练后与Faster R-CNN、SSD300在同一冻结划分和COCO评测口径下对比,三个随机种子重复实验并做统计检验,验证集mAP50-95为0.734。最优权重经对账后导出为端到端ONNX,接入Django与Vue系统,提供图片、视频、摄像头识别、识别历史管理与可视化大屏,形成从模型到应用的完整闭环。

WEIXIN_JSJBSZDS的博客 338

深度学习 目标检测 无人机巡检 防震锤 电力设备 YOLO格式 数据集发布

深度学习 目标检测 无人机巡检 防震锤 电力设备 YOLO格式 数据集发布 9038期

qq_2529413168的博客 307
上一篇: 扣子工作流进阶技巧:用画板节点制作爆款情感图文(含提示词模板)
下一篇: 小波分析避坑指南:分解重构中的5个常见错误与调试技巧
linux6sysadmin
博客等级 码龄4年 59粉丝 1615原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值