目录

  • 一、R-precision分数简介
  • 二、 R-precision-CUB定量实验步骤
    • 2.1、下载R-precision代码
    • 2.2、分析
    • 2.3、配置好文件
    • 2.4、更改路径参数
    • 2.5、生成RP_data
    • 2.6、评估R分数
  • 最后

一、R-precision分数简介

R-precision,也叫R分数,其通过对提取的图像和文本特征之间的检索结果进行排序,来衡量文本描述和生成的图像之间的视觉语义相似性。除了生成图像的真实文本描述外,还从数据集中随机抽取其他文本。然后,计算图像特征和每个文本描述的text embedding之间的余弦相似性,并按相似性递减的顺序对文本描述进行排序。如果生成图像的真实文本描述排在前r个内,则相关。

简单举个例子:假设r为3,有一百个文本,其中包括一个真实对应的文本和99个随机取出来的文本,将他们转为text embedding,然后分别与生成的图像计算余弦相似度,然后排序,如果真实文本生成的embedding排在前3位,则认为该图像与文本有相关性。

R-precision表示的是排序后真实文本出现在前r个的概率,越大说明图像与真实文本描述越相关,R-precision越大越好

二、 R-precision-CUB定量实验步骤

这里我们以DF-GAN在CUB上面的模型定量为例:

2.1、下载R-precision代码

Github:https://github.com/maincarry/R-Precision
CSDN下载:R分数复现 R-precision评估指标定量实验代码

2.2、分析

下载后发现代码工程包括build_RPdata.py、config.py、encoder.py、eval_Rprecision.py、all_texts.txt。

all_text.txt:包括birds的所有描述文本
build_RPdata.py:功能是根据生成的图像建立图像-文本的数据对
config.py:一些参数的设置,用不着,可以不管
encoder.py:图像编码器和文本编码器
eval_Rprecision.py:功能是根据图像-文本的数据对评估图像文本的对齐性

2.3、配置好文件


以DF-GAN为例:
将文件放到以上箭头指定的位置(此处只是为了方便这样放,也可以自己单独做文件夹放,只要后面的文件路径你能配好随意放都行)

2.4、更改路径参数

打开build_RPdata.py,找到160~180行,如下:

if __name__ == '__main__':parser = argparse.ArgumentParser(description='Generate RP test data from evaluation output.')parser.add_argument('-p', dest='path', type=str, help='Path to image directory')parser.add_argument('-c', dest="cap", default='all_texts.txt',help='Optional: specify all texts file. Default to all texts in dataset.')parser.add_argument('-d', dest='out', type=str, help='Output directory', default='./')parser.add_argument('-t', dest='text', type=str, help='Directory to text data',default='D:\\MyPythonWorkplace\\DF-GAN-master\\data\\bird\\text\\text')# default='D:\\AttnGAN-master\\data\\birds\\text')parser.add_argument('-r, --random', dest='rand', action='store_true',help='If set, sample is selected randomly instead of sequentially.')args = parser.parse_args()# args.p = 'D:\\AttnGAN-master\\models\\netG_epoch_250\\valid\\single\\'args.p = '..\\test\\valid\\single_580epoch'# args.out = 'D:\\AttnGAN-master\\R_Precision_attnGAN-master\\RP_data\\'args.out = '..\\RP_data'

其中需要更改的参数有三个

  1. parser.add_argument('-t', dest='text', type=str, help='Directory to text data',default='D:\\MyPythonWorkplace\\DF-GAN-master\\data\\bird\\text\\text'),这一句是指明数据集文本所在的位置,修改为你放置的地方,如果你按照2.3放置好了文件的话,你可以改成default='..\\data\\bird\\text\\text'
  2. args.p = '..\\test\\valid\\single_580epoch',这一句是指明生成的图像的所在位置:
  3. args.out = '..\\RP_data',这一句指明你要输出的图像-文本数据对所在的位置。

打开eval_R_precision.py,找到第306行左右:

    args = parse_args()BATCH_SIZE = 64args.fake_dir = '..\\RP_data'args.cap_path = '..\\data\\bird\\captions.pickle'args.manualSeed = 1900

其中需要更改的参数有两个

  1. args.fake_dir指明的是RP_data即图像-文本数据对存放的文件路径。
  2. args.cap_path指明的是数据集captions.pickle包的所在路径。

2.5、生成RP_data

运行build_RPdata.py,生成数据对文件保存到RP_data文件夹中。
如果出现读取文件错误可以更改86行:txt_file = os.path.join(args.text, os.path.basename(dir), "{}.txt".format(fname.split(" ")[0][:-1])),看是不是路径提取时出的错误。

2.6、评估R分数

运行eval_R_precision.py开始评估,等待结束即可,3000份图像-文本数据对的话评估时间大概在7分钟左右。

最后

特别鸣谢赵zewei同学的指导和帮助。

R分数复现 R-precision评估指标定量 文本生成图像R分数定量实验全流程复现(R-precision)定量评价实验踩坑避坑流程相关推荐

  1. IS指标复现 文本生成图像IS分数定量实验全流程复现 Inception Score定量评价实验踩坑避坑流程

    目录 一.IS分数简介 二.IS分数 CUB定量实验步骤 第一步:B_VALIDATION改为True 第二步:配置训练好的生成器 第三步:采样生成图像 第四步:下载IS代码并配置 第五步:下载预训练 ...

  2. Text to image论文精读PDF-GAN:文本生成图像新度量指标SSD Semantic Similarity Distance

    SSD,全称为Semantic Similarity Distance,是一种基于CLIP的新度量方式,是西交利物浦大学学者提出的一种新的文本生成图像度量指标,受益于所提出的度量,作者进一步设计了并行 ...

  3. 文本生成图像T2I复现所需操作命令合集

    在日常学习中,时常需要不断使用其他模型进行指标评测.采样.图像生成等等操作,而不同模型使用的操作终端命令不尽相同,单个的查阅代码对应的Readme需要回忆理解又比较麻烦.故本文在此汇总比较常用的操作步 ...

  4. 绝对不容错过:最完整的检测模型评估指标mAP计算指南(附代码)在这里!

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 本文翻译自Measuring Object Detectio ...

  5. 关于模型的评估指标(超详细)

    文章目录 正负样本的选择 标准评估指标 回归问题的评估指标 SSE 和方差 均方误差(MSE) 均方根误差(RMSE) R Squared 分类问题的评估指标 错误率 召回率(查全率) 精确率(查准率 ...

  6. 目标检测的评估指标mAP的那些事儿

    对于使用机器学习解决的大多数常见问题,通常有多种可用的模型.每个模型都有自己的独特之处,并随因素变化而表现不同. 每个模型在"验证/测试"数据集上来评估性能,性能衡量使用各种统计量 ...

  7. 目标检测模型的评估指标mAP详解(附代码)

    https://zhuanlan.zhihu.com/p/37910324 对于使用机器学习解决的大多数常见问题,通常有多种可用的模型.每个模型都有自己的独特之处,并随因素变化而表现不同. 每个模型在 ...

  8. 轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

    轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI] 1. ATE/APE 2. RPE 3. EVO 3.1 评估指标 3.2 使用 3.2.1 轨迹可视化 3.2.2 APE 3.2. ...

  9. Lesson 5.分类模型决策边界与模型评估指标

    Lesson 5.分类模型决策边界与模型评估指标(上) 在逻辑回归的算法基础内容结束之后,我们还需要补充一些关于分类模型的基础知识,包括观察分类模型判别性能的决策边界基本的概念与实现方法,同时也包括对 ...

最新文章

  1. 23种设计模式(下)
  2. 参考文献 如何控制别自动换行_word里插入参考文献时,出现自动换行,排版很难看,怎么解决?有图!求大神指教!...
  3. 笔记本vm系统的分辨率不好调整_关于超高分辨率小动物超声成像系统(3100LT)和多模式、超高分辨率小动物光声/超声成像系统(2100)测试费价格调整通知...
  4. System.Text.Json 中的字符编码
  5. leetcode - 234. 回文链表
  6. [DB2]Linux下安装db2 v9.7
  7. [WCF Step by Step 读书笔记] Chapter01 WCF 介绍
  8. 认识黑客入侵的利器 嗅探软件逐个了解
  9. android富文本文件存储,Android富文本
  10. Java编程思想(一)
  11. LaTeX数学公式 合集
  12. hive经典面试题1--根据主播上播、下播时间戳求播出时长
  13. 联通家庭宽带光猫DDNS设置
  14. Google SketchUp Cookbook: (Chapter 3) Intersection Edges: Cutting and Trimming
  15. Android下操作FrameBuffer
  16. 获取股票历史数据——数据采集(1)
  17. ActiveX控件属性的下拉列表
  18. 使用python异步框架aiohttp从NASA抓取火星图片
  19. uni-app无法触发onReachBottom事件
  20. html5音乐播放器格式midi,HTML5 Audio時代的MIDI音樂文件播放

热门文章

  1. 熊掌号必备SEO知识4:已开通熊掌号,站点换域名了怎么办?
  2. Python- exe应用程序在Windows Server2012 64位系统运行报错
  3. 一年手机信息安全囧事大调查,你有没有中招
  4. RMC公链2022开启 坚持 共进与突破
  5. Linux入门进阶 - 如何在Linux中使用export命令
  6. Android移动应用ALL IN ONE架构衍变
  7. 【数据挖掘】数据挖掘工程师是做什么的?
  8. 计算机基础文件与文件夹,计算机基础知识 第03部分 操作系统 文件与文件夹管理.ppt...
  9. 第一序列任小粟的能力_第一序列全本免费阅读-第一序列小说精校版
  10. dnf打团正在连接服务器进不去是吗鬼,DNF打团速成职业注意事项解读 不再做手残辅助...