Deep Semantic Ranking Based Hashing for Multi-Label Image Retrieval

该论文提出了一种深度语义排序哈希(DSRH)方法,利用深度卷积神经网络学习哈希函数,以保证多标签图像的多层次语义相似性。DSRH通过排序监督和代理损失函数优化,实现特征表示和哈希码的一致性,提高了图像检索的性能。在MIRFLICKR-25K和NUS-WIDE数据集上的实验显示了其优越性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

这篇paper提出了一种基于深度语义排序的方法来学习hash function,从而保证生成的hash code与多标签图像之间的多层次语义相似。该方法 中采用deep convolutional neural network来学习哈希函数,特征表示以及保持hash code与feature representations之间一致性,从而避免了用手动设计特征进行图像语义表示的限制;此外,采用能够进行编码多级相似信息的ranking list进行指导deep hash function的学习;采用一种基于surrogate loss(代理损失)函数的有效方法进行该学习过程中非光滑和多元排序度量非常棘手的优化问题。实验表明在多标签的公开测试图像数据集(MIRFLICKR-25K和NUS-WIDE)上该方法是state-of-the-art。

主要思路

对于图像检索任务目的无非就是把数据库中的图像,按照和查询图像的相关性由大到小的顺序,依次返回。基于这个思想提出直接让网络学习这个排序,因此该方法称为DSRH(Deep Semantic Ranking Hashing)。事实上,这种做法相当于直接对最终的评测指标进行优化,直接优化排序并不容易,因此使用一个凸上界作为替代(surrogate loss),进行优化。

如上图所示,采用deep convolutional neural network来构建hash function从而学习更加丰富的语义信息;同时,学习到的hash fuction具有语义排序监督,该序列就是查询和图像数据集之间的序列。该学习过程是特征表示和hash code匹配的联合优化,比之前CNNH的两个阶段有效的多。采用surrogate loss函数进行非光滑和多元排序度量策略的优化,同时采用SGD来进行整个mode参数的优化。

### Semantic-Prior Guided Exemplar-Based Image Colorization (SPCOLOR) #### 研究背景 图像上色技术分为全自动上色和用户交互上色两种主要形式[^1]。其中,基于范例的图像上色(Exemplar-based Image Colorization)是一种特定类型的用户交互上色方法,它允许用户通过提供彩色样本作为指导来进行图像着色。 #### 方法概述 Semantic-prior Guided Exemplar-based Image Colorization (SPCOLOR) 是一种创新性的图像上色框架,旨在解决传统方法中存在的挑战: - **语义先验引导**:引入了语义信息来指导颜色迁移过程,使得色彩转换更加合理且贴近实际物体的颜色属性。 - **跨域适应能力**:能够处理不同领域间的图像对应问题,比如从草图到照片的真实感转化,这超越了一般仅限于自然图片内部对应的算法[^2]。 #### 技术细节 该方法的核心在于结合了语义理解与实例对比学习机制,具体如下: - **特征提取层**:使用预训练好的卷积神经网络(CNN),如ResNet或VGG系列模型,用于捕捉输入灰度图及其相应彩样之间的深层特性表示。 - **语义分组模块**:借鉴自面向语义的对比学习(Semantic-oriented Contrastive Learning)[^3]的思想,在此阶段会将像素聚合成若干个具有相同上下文含义的小区域,并计算各簇中心点位置形成所谓的“原型”。 - **颜色传播单元**:根据上述得到的空间布局以及所选参照物的颜色模式,智能地决定待染色部分应呈现何种色调;同时考虑到局部纹理特点以确保最终效果逼真自然。 - **优化目标函数**:定义损失项不仅考虑到了整体视觉一致性还加入了对抗性成分促使生成更高质量的结果。 ```python import torch.nn as nn class SPCOLOR(nn.Module): def __init__(self, backbone='resnet50', num_classes=21): super().__init__() self.backbone = get_backbone(backbone) self.semantic_grouping_module = SemanticGroupModule() self.color_propagation_unit = ColorPropagationUnit(num_classes=num_classes) def forward(self, gray_image, exemplar_pair): features_gray = self.backbone(gray_image) grouped_features = self.semantic_grouping_module(features_gray) colored_output = self.color_propagation_unit(grouped_features, exemplar_pair) return colored_output ``` #### 实现优势 相比其他同类方案,SPCOLOR具备以下几点明显优点: - 更加精准的颜色映射逻辑; - 对复杂场景下的鲁棒性强; - 支持实时处理大规模高清素材。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值