《Cross-Image Pixel Contrasting for Semantic Segmentation》论文解读
期刊:TPAMI
年份:2024
摘要
研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘"局部"上下文,即单个图像中像素之间的依赖关系。然而,它们忽略了训练数据的“全局”上下文,即不同图像之间像素之间的丰富语义关系。受最近无监督对比表示学习进展的启发,本文提出一种像素级对比算法PiCo,用于全监督学习环境下的语义分割。其核心思想是强制属于相同语义类的像素嵌入比来自不同语义类的嵌入更相似。通过明确探索以前很少研究的标记像素的结构,提出了一种用于语义分割的像素级度量学习范式。所提出的训练算法与现代分割解决方案兼容,在测试期间没有额外的开销。实验表明,通过著名的分割模型(即DeepLabV3、HRNet、crnet、SegFormer、Segmenter、MaskFormer)和骨干(即MobileNet、ResNet、HRNet、MiT、ViT),所提出算法在不同的数据集(即Cityscapes、ADE20 K、PASCAL-Context、COCO-Stuff、CamVid)上带来了一致的性能提升。期望这项工作将鼓励社区重新思考当前语义分割事实上的训练范式。
Introduction
动机:
- 利用全局上下文信息来改善语义分割的性能。
- 通过像素级的对比学习,促使同一类别的像素在嵌入空间中更紧凑,不同类别的像素更分散。
- 提出一种新的训练算法,与现代分割解决方案兼容,且在测试期间没有额外的开销。
主要贡献:
- 提出一种有监督的逐像素对比学习语义分割方法。它将当前的图像训练策略提升到图像间、像素到像素的范式。其本质是通过充分利用标记像素之间的全局语义相似性来学习像素语义嵌入空间。
- 开发了一种区域记忆,以更好地探索巨大的视觉数据空间,并支持进一步计算像素到区域的对比度。该方法结合像素到像素的对比度计算,利用像素之间以及像素与语义区域之间的语义相关性。
- 不是选择随机像素样本进行密集度量学习,而是可以通过更好的示例采样和合成策略提供更强大的分割模型。
Method
2.1 前置知识
无监督对比学习:无监督对比学习是一种自监督学习方法,它通过学习数据的内在结构和模式来表示数据,而不需要依赖于外部的标签信息。这种方法的核心思想是通过对比正样本(相似的数据点)和负样本(不相似的数据点)来学习区分不同数据点的特征表示。损失函数设计用来拉近正样本对之间的距离,同时推远负样本对之间的距离。
其中 表示 I 的正样本的特征嵌入,
包含所有负样本的嵌入,'·' 表示内部(点)乘积,𝜏 > 0 是缩放距离分布的温度超参数。
记忆库:在无监督对比学习中,"记忆库"(Memory Bank)是一种关键机制,用于存储训练过程中遇到的样本的特征表示,以便在计算对比损失时使用。记忆库存储了大量样本的特征向量,这些特征向量通常由编码器网络生成,编码器网络负责将输入数据映射到特征空间。在每次迭代中,记忆库用于提供负样本,即与当前锚点(anchor)样本不同但同时参与损失函数计算。这有助于模型学习区分不同类别或不同实例的特征表示。
由于一次训练迭代中可用的负样本数量可能受到批处理大小的限制,记忆库允许模型在每次迭代中访问更多的负样本,从而提高学习效率。
2.2 监督对比分割
2.2.1 像素级交叉熵损失
一种常用的损失函数,用于训练卷积神经网络(CNN)或其它类型的神经网络,以预测图像中每个像素的类别标签。
以上损失函数公式存在两个问题:i)独立验证每个像素的分割预测,而忽略了像素之间的关系。因此,模型可能会遇到难以识别视觉证据较弱或属于小物体的像素。ii) 由于 softmax 的使用,损失仅取决于 logits 之间的相对关系,不能直接监督学习的表示 。
这两个问题很少被注意到;只有少数结构感知损失被设计用来解决:i),通过考虑相邻像素的成对亲和力,优化交叉过并测量,ii)最大化groundtruth和预测映射之间的区域互信息。
然而,这些替代损失只考虑图像中像素之间的依赖性(即局部上下文),而不考虑图像中像素之间的语义相关性(即全局结构)。
2.2.2 Pixel-to-Pixel对比
通过像素级的对比学习来探索训练数据中的全局语义结构,从而正则化分割嵌入空间的优化。这样,同一类别的像素嵌入会被拉近,而不同类别的像素嵌入则会被推远。
对于一个锚点像素 𝑖,其真实语义标签为 ,正样本是其他属于类别
的像素,负样本则是属于其他类别
的像素。
其中和
分别表示正样本和负样本的像素嵌入集合,𝜏 是温度参数,用于控制分布的平滑程度。 正/负样本和锚点 i 不限于来自同一图像,这种基于像素到像素对比度的损失设计的目的是通过将同一类像素样本拉近并推开不同的类样本来学习嵌入空间。
与传统的像素级分类损失(如交叉熵损失)不同,像素到像素的对比损失不仅考虑了单个像素的分类准确性,还考虑了像素之间的全局语义关系。
像素级交叉熵损失和对比损失是互补的;前者让分割网络学习对分类有意义的判别像素特征,而后者有助于通过显式探索像素样本之间的全局语义关系来规范嵌入空间,从而提高类内紧凑性和类间可分离性。因此整体训练目标是:
如图所示,LSEG学习到的像素嵌入变得更紧凑,比仅使用LCE学习的像素嵌入更好。这表明,通过享受一元交叉熵损失和成对度量损失的优势,分割网络可以生成更多的判别特征,从而产生更有希望的结果。
![](https://i-blog.csdnimg.cn/direct/51a9ea13b9424d68b73e7e14a5a519df.png)
2.2.3 Pixel-to-Region对比
"Pixel-to-Region Contrast"(像素到区域对比)是PiCo算法的一个重要组成部分,旨在通过利用图像中像素和区域(语义区域)之间的关系来提升语义分割的性能。
像素到区域对比是一种正则化技术,它不仅考虑像素级别的对比,还考虑像素与其所属语义区域之间的关系。
为了有效地进行像素到区域的对比,论文中提出了一种记忆库的设计,用于存储像素和区域的特征表示。记忆库包含两部分:像素队列和区域记忆库。
- 像素队列为每个类别维护了一个固定大小的像素特征集合,这些像素是从最新的小批量样本中随机选取的。
- 区域记忆库存储了每个图像中每个语义类别的区域特征,这些特征是通过平均池化同一图像中所有标记为该类别的像素嵌入得到的。
在计算像素到区域的对比损失时,属于同一类别的区域嵌入被视为正样本,而其他类别的区域嵌入被视为负样本。
动机:由于在密集预测设置中存在大量的像素样本,其中许多是冗余的(例如,从同一物体区域中采样的像素),直接存储所有训练像素样本会大大降低学习过程的速度。因此,通过维护像素队列和区域记忆库,可以更有效地利用数据。
2.2.4 Hard Example Sampling
硬样本采样的目的是在训练过程中专注于那些难以正确分类的样本,即“硬”样本,从而提高模型对困难案例的学习能力。
硬样本采样策略:
- Hardest Example Sampling(最硬样本采样):选择与锚点像素在特征空间中最相似的负样本和最不相似的正样本。
- Semi-Hard Example Sampling(半硬样本采样):选择与锚点像素相似度处于中间水平的样本,避免使用最容易和最困难的样本。
- Segmentation-Aware Hard Anchor Sampling(分割感知硬锚点采样):将分类错误的像素作为硬锚点,并在损失计算中给予更多关注。
通过专注于硬样本,模型可以学习到更加鲁棒的特征表示,从而在面对具有挑战性的场景时表现更好。
2.2.5 Hard Negative Example Synthesis
硬负样本合成的目的是在训练过程中增加模型学习的难度,通过引入难以区分的负样本来推动模型学习更鲁棒的特征表示。在对比学习中,负样本的选择对于模型学习至关重要。硬负样本是那些在特征空间中与锚点样本相似度较高的样本,这些样本对于模型的区分能力提出了更高的要求。
硬负样本的合成机制:
- 负负合成(Negative-Negative Synthesis):通过随机选择负样本对,进行凸线性组合来生成新的负样本。
- 负锚合成(Negative-Anchor Synthesis):将锚点样本与选定的负样本进行线性混合,生成更具挑战性的负样本。
合成的硬负样本在损失函数中作为负样本参与计算,增加了损失函数的复杂性,促使模型在优化过程中更加关注特征的区分度。
2.3 Detailed Network Architecture
对于小批量中的每个训练图像 I,利用特征提取器 将其投影到密集嵌入 I 中,然后将其输入分割头
进行掩码预测(即 Y),由交叉熵损失 (
) 监督,以及用于像素对比度的投影头
(
)。此外,维护内存库M,设计硬示例采样和合成策略来寻找更多信息样本,以实现有效的对比学习。
Feature Extractor ():特征提取器用于将输入图像 𝐼 映射到密集的特征表示 𝐼,其维度为 𝐻×𝑊×𝐷,其中 𝐻×𝑊 是特征图的空间尺寸,𝐷 是特征维度。常见的CNN或Transformer骨干网络可以用于实例化
。
segmentation Head ():分割头
将特征表示 𝐼 映射到一个类别分数图 𝑌,其维度为 𝐻×𝑊×∣𝐶∣,其中 ∣𝐶∣ 是类别的数量。这个分数图表示了每个像素属于各个类别的置信度。
Projection Head ():投影头
用于将每个高维像素嵌入 𝑖 映射到一个低维的
-归一化特征向量,用于计算对比损失
。
通常由几个1x1的卷积层、批量归一化(BN)和ReLU激活函数组成。在推理时,
被移除,不会引入任何额外的计算成本。
Memory Bank (M):记忆库 𝑀 由两部分组成,分别存储像素嵌入和区域嵌入。对于每个训练图像,我们为每个类采样 V = 10 像素。对于每个类,我们将像素队列的大小设置为 T = 10 N。对于大规模或词汇表的数据集,例如 COCO-Stuff 和 ADE20 K,我们将 T 设置为固定数量的(即 10,000),记忆库在训练后被丢弃,不参与推理过程。
Joint Loss ():联合损失
结合了表示学习和度量学习的优势,用于更显著的分割特征学习。它结合了像素级交叉熵损失
和对比损失
,通过一个可调节的系数 𝜆 来平衡两种损失。
总的来说:
- 通过特征提取器得到特征,并通过分割头得到像素级别的预测,将其预测与Grounding Truth比较计算交叉熵损失。
- 通过特征提取器得到特征,并通过投影得到低维特征向量,将分类错误的像素作为硬锚点,从记忆库中选择与当前锚点像素相似的负样本,以及不相似的正样本,使用采样得到的锚点、正样本和负样本,计算像素级的对比损失。
- 使用联合损失反向传递更新网络,并合成新的负样本。
- 在每次训练迭代中重复上述损失计算和参数更新步骤,直到模型在验证集上的性能不再提升或达到预定的迭代次数。
Conclusion
在本文中,我们提出了一种新的监督学习范式用于语义分割,它享受一元分类和结构化度量学习的互补优势。通过逐像素的对比学习,它研究了训练像素之间的全局语义关系,引导像素嵌入到跨图像的类别判别表示,最终提高分割性能。实验表明,在不同的语义分割基准上,该算法比基于fcn或基于transformer的分割器实现了一致的性能改进。我们的算法在各种密集预测任务中显示出巨大的潜力,例如姿态估计和身体解析。它也带来了新的挑战,特别是在智能数据采样和生成、度量学习损失设计、训练期间的类再平衡和多层特征对比方面。考虑到过去几年里大量的技术突破,我们期待在这些方向上出现一阵创新的热潮。
相关文章:
《Cross-Image Pixel Contrasting for Semantic Segmentation》论文解读
期刊:TPAMI 年份:2024 摘要 研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘"局部"上下文,即单个图像中像素之间的依赖关系。然而&…...
![](https://img-blog.csdnimg.cn/img_convert/cc3a8ef80fcf3d4f15a87647ba3f127a.webp?x-oss-process=image/format,png)
技术周总结 2024.07.08~07.14(算法,Python,Java,Scala,PHP)
文章目录 一、07.13 周六1.0)算法题:字符串中的单词反转1.1) 问题01:可靠性计算中的MTTR MTTF MTBF 分别指什么?他们之间有什么联系?MTTR (Mean Time to Repair)MTTF (Mean Time to Failure)MTBF (Mean Time Between F…...
![](https://www.ngui.cc/images/no-images.jpg)
UnityECS学习中问题及总结entityQuery.ToComponentDataArray和entityQuery.ToEntityArray区别
在Unity的ECS(Entity Component System)开发中,entityQuery.ToComponentDataArray<T>(Allocator.Temp) 和 entityQuery.ToEntityArray(Allocator.Temp) 是两种不同的方法,用于从实体查询中获取数据。除了泛型参数之外&#…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
[python]基于yolov10+gradio目标检测演示系统设计
【设计介绍】 YOLOv10结合Gradio实现目标检测系统设计是一个结合了最新目标检测技术和快速部署框架的项目。下面将详细介绍这一系统的设计和实现过程。 一、YOLOv10介绍 YOLOv10是YOLO(You Only Look Once)系列的最新版本,由清华大学的研究…...
![](https://i-blog.csdnimg.cn/direct/2024c744e8404687ae57e489dedccf19.png)
浏览器开发者视角及CSS表达式选择元素
点击想要查看的接口,然后点击检查,便可以切换到该接口对应的html代码 如果F12不起作用的话,点击更多工具,然后选择开发者工具即可 ctrlF可以去查阅相关的CSS表达式选择元素 如果没有加#t1,那么表示的是选择所有的p 使用…...
![](https://i-blog.csdnimg.cn/direct/71d3b5f596f144b1a08fe4e68eba45b8.png)
GuLi商城-商品服务-API-品牌管理-统一异常处理
每个方法都加这段校验太麻烦了 准备做一个统一异常处理@ControllerAdvice 后台代码: package com.nanjing.gulimall.product.exception;import com.nanjing.common.exception.BizCodeEnum; import com.nanjing.common.utils.R; import lombok.extern.slf4j.Slf4j; import org…...
![](https://www.ngui.cc/images/no-images.jpg)
VUE+Spring Flux实现SSE长连接
VUE代码 // 初始化EventSourceinitEventSource(url) {const token getAccessToken();const eventSource new EventSourcePolyfill(url, {headers: {Authorization: Bearer ${token},tenant-id: getTenantId(),}});eventSource.onerror (e) > {console.log("SSE连接错…...
![](https://www.ngui.cc/images/no-images.jpg)
C#实现Winform程序右下角弹窗消息提示
前言 消息通知在应用程序中,是一种非常有用的功能,实现对一些重要信息、提醒或警告及时向用户展示。我们在使用软件时,通常会收到一种从桌面右下角弹出的(提示信息或广告)信息框。本文将介绍使用 C# 实现此种方式的信息…...
![](https://www.ngui.cc/images/no-images.jpg)
Java三剑客:封装、继承、多态的魔法世界
第一章:封装的艺术 —— 保护你的宝藏 案例分析:银行账户系统 想象一下,你正在构建一个银行账户系统。每个账户都有一个余额,这个余额需要受到严格的保护,不能被随意修改。我们可以通过封装来实现这一目标。 示例代…...
![](https://www.ngui.cc/images/no-images.jpg)
0145__Linux的capability
https://zhuanlan.zhihu.com/p/693896673 Linux的capability深入分析(1)_linux 设置进程capprm-CSDN博客 cap_init(3) - Linux manual page...
![](https://i-blog.csdnimg.cn/direct/09cc138dc8a54543911065ef62b6d601.png)
# Redis 入门到精通(一)数据类型(4)
Redis 入门到精通(一)数据类型(4) 一、redis 数据类型–sorted_set实现时效性任务管理 1、sorted_set 类型数据操作的注意事项 score 保存的数据存储空间是64位,如果是整数范围是-9007199254740992~9007199254740992…...
![](https://i-blog.csdnimg.cn/direct/9011e03eb87d46dfb2118a93858d726b.png#pic_center)
西邮计科嵌入式复习
西邮嵌入式复习 一、第一章复习二、第二章复习三、第三章复习四、第四章复习 一、第一章复习 二、第二章复习 三、第三章复习 四、第四章复习...
![](https://www.ngui.cc/images/no-images.jpg)
Java如何使用 HttpClientUtils 发起 HTTP 请求
Java如何使用 HttpClientUtils 发起 HTTP 请求 一、前言1.HttpClientUtils 类概览2.解析 HttpClientUtils 类3.使用 HttpClientUtils 类 一、前言 在现代的软件开发中,经常需要与远程服务器进行通信,例如获取数据或发送数据。Apache HttpClient 是一个流…...
![](https://www.ngui.cc/images/no-images.jpg)
无人机的工作原理
无人飞行器(UAV,即Unmanned Aerial Vehicle)的工作原理涉及多个复杂的系统和技术。以下是对各个系统和技术的详细介绍: 1. 飞行控制系统(FCS) 飞行控制系统是无人机的“大脑”,负责监控和调整…...
![](https://img-blog.csdnimg.cn/direct/de3dbf1110784bb99541b7ae0dcfec9c.png)
敏捷开发笔记(第10章节)--Liskov原则(LSP)
目录 1:PDF上传链接 10.1 Liskov替换原则(LSP) 10.2 一个违反LSP的简单例子 10.6 启发式规则和习惯用法 10.7 结论 1:PDF上传链接 【免费】敏捷软件开发(原则模式与实践)资源-CSDN文库 OCP背后的主要机制是抽象(abstraction…...
![](https://i-blog.csdnimg.cn/direct/0938afa99d214e92b2a48110aa72ce31.png)
基于SSM的校园一卡通管理系统的设计与实现
摘 要 本报告全方位、深层次地阐述了校园一卡通管理系统从构思到落地的整个设计与实现历程。此系统凭借前沿的 SSM(Spring、Spring MVC、MyBatis)框架精心打造而成,旨在为学校构建一个兼具高效性、便利性与智能化的一卡通管理服务平台。 该系…...
![](https://i-blog.csdnimg.cn/direct/87ae113b863c4848bcedbb47f30268b3.png)
新版Android Studio中设置gradle的JDK版本
旧版android studio 在旧版(具体哪个版本号之前搞不清了)中设置JDK版本在>File——>Project Structure——>SDK location——>Gradle Setting——>Gradle SDK 新版android studio 某次更新后发现SDK location下找不到Gradle Setting选项…...
![](https://i-blog.csdnimg.cn/direct/c764c1567a6a40ae89b9400df8246b32.png)
打造你的智能家居指挥中心:基于STM32的多协议(zigbee、http)网关(附代码示例)
1. 项目概述 随着物联网技术的蓬勃发展,智能家居正逐步融入人们的日常生活。然而,市面上琳琅满目的智能家居设备通常采用不同的通信协议,导致不同品牌设备之间难以实现互联互通。为了解决这一难题,本文设计了一种基于STM32的多协…...
![](https://i-blog.csdnimg.cn/direct/be9eb384324145e8b1b3cc891668aeba.png)
【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibrium (LD)
Tajimas D Test 已经开发了几种中性检验,用于识别模型假设的潜在偏差。在这里,我们将说明一种有影响力的中性检验,即Tajimas D(Tajima 1989)。Tajimas D通过比较数据集中的两个𝜃 4N𝜇估计值来…...
![](https://i-blog.csdnimg.cn/direct/1af25580a7014addb62ddfca8b69e5a0.png)
防火墙组网与安全策略实验
实验要求: 实现: 防火墙接口配置: 所有接口均配置为三层接口 由于G1/0/3口下为vlan环境,所以防火墙需要配置子接口 : 交换机划分vlan分开生产区和办公区、配置trunk干道 : 安全策略: 生产区访…...
![](https://i-blog.csdnimg.cn/direct/0019e14c72c94335b6794ad6811236b4.png)
xmind梳理测试点,根据这些测试点去写测试用例
基本流(冒烟用例必写) 备选流 公共测试点:...
![](https://i-blog.csdnimg.cn/direct/42d9a002ea4d419d87e69bb778e99d8b.png)
MICCAI 2024 每日一篇论文 纯纯直读 CUTS:用于多粒度无监督医学图像分割的深度学习和拓扑框架
MICCAI 2024 CUTS: A Deep Learning and Topological Framework for Multigranular Unsupervised Medical Image Segmentation CUTS: 用于多粒度无监督医学图像分割的深度学习和拓扑框架 作者 陈璐1*、Matthew Amodio1*、梁博伦.沈2、冯高3、阿曼阿维斯塔4、Sanjay Aneja3,5…...
![](https://i-blog.csdnimg.cn/direct/2911c7415baa442dafcd7d4c0d095664.png)
实验9 存储过程与函数的创建管理实验
一、实验目的: 理解存储过程和函数的概念。掌握创建存储过程和函数的方法。掌握执行存储过程和函数的方法。掌握游标的定义、使用方法。 二、实验内容 1.某超市的食品管理的数据库的Food表,Food表的定义如表所示, Food表的定义…...
![](https://i-blog.csdnimg.cn/direct/7f05175869974ade9df93e81d8b9aa7c.jpeg#pic_center)
计算机网络--tcpdump和iptable设置、内核参数优化策略
tcpdump工具 tcpdump命令: 选项字段: 过滤表达式: 实用命令: TCP三次握手抓包命令: #客户端执行tcpdump 抓取数据包 tcpdump -i etho tcp and host 192.168.12.36 and port 80 -W timeout.pcapnetstat命令 netst…...
![](https://www.ngui.cc/images/no-images.jpg)
Vue3框架搭建2:axios+typescript封装
仓库地址:https://github.com/buguniao5213/LuArch 1、安装axios npm install axios2、创建文件 先创建一个文件夹: ├── src/ │ ├── api/ │ │ ├── index.ts/ #编写axios封装代码 │ │ └── example.ts/ #定义…...
![](https://img-blog.csdnimg.cn/direct/ee9077c56a1c476d803af8a178e0eb98.gif#pic_center)
【机器学习】使用决策树分类器预测汽车安全性的研究与分析
文章目录 一、决策树算法简介决策树的结构分类和回归树 (CART)决策树算法术语决策树算法直觉 二、属性选择度量信息增益熵 基尼指数计算分割基尼指数的步骤 三、决策树算法中的过度拟合避免过度拟合的方法 四、导入库和数据可视化探索性数据分析重命名列名查看数据集的总结信息…...
![](https://img-blog.csdnimg.cn/59e6298ecc134fbeb947b1b24ecfd48a.gif#pic_center)
【香橙派 Orange pi AIpro】| 开发板深入使用体验
目录 一. 🦁 写在前面二. 🦁 愉快的安装流程2.1 安装前准备2.2 流程准备2.2.1 烧录镜像2.2.2 开机2.2.3 连网2.2.4 SSH远程连接开发板 2.3 体验 AI 应用样例 三. 🦁 写在最后 一. 🦁 写在前面 大家好,我是狮子呀&…...
![](https://i-blog.csdnimg.cn/direct/7cc2de54d27c4ba1b5f1dcd3349f1898.png)
初识Laravel(Laravel的项目搭建)
初识Laravel(Laravel的项目搭建) 一、项目简单搭建(laravel)1.首先我们确保使用国内的 Composer 加速镜像([加速原理](https://learnku.com/php/wikis/30594)):2.新建一个名为 Laravel 的项目&a…...
![](https://i-blog.csdnimg.cn/direct/71038873a0af4475909595a5cf705649.png)
RequestContextHolder多线程获取不到request对象
RequestContextHolder多线程获取不到request对象,调用feign接口时,在Feign中的RequestInterceptor也获取不到HttpServletRequest问题解决方案。 1.RequestContextHolder多线程获取不到request对象 异常信息,报错如下: 2024-07-0…...
![](https://img-blog.csdnimg.cn/direct/6bfc7ee12f0a4a67a34d50b9f28c937c.png)
打造高效工作与生活质量的完美平衡
在快节奏的编程行业中,保持健康的工作与生活平衡是至关重要的。长时间坐在电脑前、面对紧凑的项目截止日期和频繁的加班文化,很容易导致身心健康问题,如眼睛疲劳、颈部和背部疼痛、压力累积、睡眠障碍乃至慢性疾病。因此,采取积极…...
![](https://img-blog.csdnimg.cn/98c2f3b547b143158be2b44684b675f2.png)
网站建设公司-山而/网站服务器ip查询
【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、…...
![](/images/no-images.jpg)
微信企业网站源码下载/不需要验证码的广告平台
//Retry机制public static class Retry{/// <summary>/// 重试零个参数无返回值的方法/// </summary>/// <param name"action">执行方法方法</param>/// <param name"retryInterval">重试间隔</param>/// <param n…...
![](/images/no-images.jpg)
360全景网站建设/代运营一个月多少钱
加密方案 密码加密我们一般会用到散列函数,又称散列算法、哈希函数,这是一种从任何数据中创建数字“指纹”的方法。 散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,然后将数据打乱混合&#…...
![](/images/no-images.jpg)
门户网站建设工作总结/seo需求
本文转载:https://www.linuxidc.com/Linux/2016-12/138302.htmXPath简介 XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计。目前有XPath1.0和XPath2.0两个版本。其中Xpath1.0是1999年成为W3C标准,而XPath2.0标准…...
![](/images/no-images.jpg)
天津市网站建设 网页制作/长治网站seo
产品安装选项分为两类:发行区域部署选项,本地部署选项 1、 在主机A上安装Rational Common Licensing2、 创建发行区域,指定默认license服务器为A,默认注册服务器为B,默认备份注册服务器为C3、 在主机B上安装clearcase …...
![](/images/no-images.jpg)
上海市建设安全协会网站特种工/b站推广网站入口mmm
zipinfo在不解压的情况下,获取zip压缩文件的的详细信息。zipinfo列出了ZIP档案中有关文件的技术信息,最常见的是在MS-DOS系统上。这些信息包括文件访问权限、加密状态、压缩类型、版本和操作系统或压缩程序的文件系统等。默认的行为(没有选项)是列出存档…...