[2020-AAAI] Revisiting Image Aesthetic Assessment via Self-Supervised Feature Learning 论文简析

[2020-AAAI] Revisiting Image Aesthetic Assessment via Self-Supervised Feature Learning 论文简析

论文链接:https://arxiv.org/abs/1911.11419

本文探索从自监督的角度进行美学评估。基于一个基本的动机:一个好的美学特征表示应该能够辨别出不同的专家设计的图像篡改的方法。本文设计了一个针对于美学评估的自监督pretext task。

在这里插入图片描述

如上图所示,在自监督pretext task预训练阶段,将原图块和进行不同方法不同参数的降质之后的图块输入网络,模型需要完成两项任务,首先是分类,判断输入的降质图块是来自哪一种降质方法,然后是在同样降质方法,不同降质参数的图像上,模型需要最小化一个三元组损失,使得原图块与降质较轻的图块的相似度比重度降质图块的相似度更大,以避免某些降质方法过于容易辨认的问题。

另外,本文还设计了一个基于熵的取样加权策略,熵值更高的图块会有更对不确定的视觉美学因素,因此在训练中应当被分配更小的权重。

在这里插入图片描述

在预训练完成后,在固定住特征提取器的参数,在美学数据集上微调分类器,如图所示,本文中将特征提取器的各层的输出都拿出来做了对比,结果如下(表中所展示的指标均为美学二分类准确率)。作者还选取了几种经典的自监督pretext task与本文设计的美学相关任务做了对比。

在这里插入图片描述

作者根据各层的性能表现对各中间层特征的层次做了分析。

比较有关键的是low data adaption部分实验,因为这里应该是体现自监督学习的优越性的地方,即在预训练阶段可以使用大量的图像(因为不需要标注),根据自己设计的pretext task来进行训练,在downstream task 微调时,由于根据预训练时的pretext task,已经得到了一个对于下游任务比较有针对性的特征提取器,这样应该只需要较少的有标签训练数据就可以得到比较好的性能。

在这里插入图片描述

上面两图是作者汇报的实验结果,可以看到在较少数量的有标签数据时,本文方法基本是全面领先于无预训练和有监督分类预训练的方法的。

作者的另一实验称在使用非线性分类器的情况下,本文的自监督预训练(未使用任何人工标注标签)的最高性能基本能够达到与有监督预训练(用了大量人工标注标签)相近。

最后作者的消融实验分别说明了pretext task,不同image editting operation 和 entropy-based weighting各部分的作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java9 堆外内存_java堆外内存泄漏排查

当考虑Java中的内存泄漏时,我们通常会考虑Java堆泄漏,即在堆中分配的对象没有被垃圾收集。这是我在处理一台服务器内存泄漏时的想法,但我即将经历的远超出我的想象。症状:运行Vertx应用程序(没有交换分区)的生产服务器被Linux内存…

[2020-CVPR] Dynamic Region-Aware Convolution 论文简析

[2020-CVPR] Dynamic Region-Aware Convolution 论文简析 论文地址:https://arxiv.org/abs/2003.12243 参考代码地址(非官方):https://github.com/shallowtoil/DRConv-PyTorch 代码笔者自己试了一下,应该是可以的&…

java activity模式_Activity的启动模式

Android系统采用任务栈的方式来管理Activity实例。栈是后进先出的数据结构。通常一个应用程序对应一个任务栈,默认情况下,每启动一个Activity都会入栈,处于栈顶位置。用户操作的永远都是栈顶的Activity。Activity可以层叠摆放,每启…

Python 中的可执行对象 eval,exec 和 compile与其在深度学习训练中的应用实例

Python 中的可执行对象 eval,exec 和 compile 与其在深度学习训练中的应用实例 eval 计算指定表达式的值。也就是说它要执行的python代码只能是单个表达式(注意eval不支持任何形式的赋值操作),而不能是复杂的代码逻辑。 eval(s…

php写简单接口_php写接口的日常

php写接口的日常/*评论列表*/public function commentListW(){$base new Base();$info $base->getUserByToken();$shop_id $info[shop_id];$page $this->data[page]?:1;$pagesize $this->data[pagesize]?:C(ROLLPAGE);$search $this->data[search];$and &…

mmdetection 使用笔记 01: 安装与简单的推理demo

mmdetection 使用笔记 01: 安装与简单的推理demo mmdetection是来自商汤和港中文联合实验室openmmlab推出的目标检测工具包,与其同系列的还有基础视觉包mmcv,图像分类mmclassification,还有mmaction,mmaction2等等。 今天第一次…

php无限评论回复_php实现无限级评论功能_后端开发

php去除数组的键名的方法_后端开发在php中可以使用“array_values()”函数去除数组的键名,该函数返回包含数组中所有的值的数组,其语法是“array_values(array)”,其参数“array”表示规定的数组,返回值是包含数组中所有的值的数组…

错误类型、混淆矩阵及目标检测常用评价指标

目标检测常用评价指标 本文主要参考陈恺大佬在B站商汤账号的介绍mmdetection的视频。 检测结果的正确/错误类型 真阳性(Ture Positive):算法检测到了某类物体(Positive),而实际图中也确实有这个物体&…

php显示json,PHP解决JSON中文显示问题

PHP如何解决JSON中文显示问题&#xff1f;本文主要介绍了PHP JSON格式的中文显示问题解决方法&#xff0c;本文总结了3种解决中文显示\u开头字符问题的方法。希望对大家有所帮助。返回json数据中文显示的问题解决方法一&#xff1a;<?php function Notice(){include ./incl…

使用yolov5训练自己的目标检测数据集

使用yolov5训练自己的目标检测数据集 yolov4出来后不久&#xff0c;又出现了yolov5&#xff0c;没有论文。虽然作者没有放上和yolov4的直接测试对比&#xff0c;但在COCO数据集的测试效果还是很可观的。很多人考虑到YOLOv5的创新性不足&#xff0c;对算法是否能够进化&#xf…

php的integer,PHP整型 integer

整数是一个没有小数的数字。整数规则:整数必须至少有一个数字 (0-9)整数不能包含逗号或空格整数是没有小数点的整数可以是正数或负数整型可以用三种格式来指定&#xff1a;十进制&#xff0c; 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。在以下实例中我们将测试不同的数字。 …

einops和einsum:直接操作张量的利器

einops和einsum&#xff1a;直接操作张量的利器 einops和einsum是Vision Transformer的代码实现里出现的两个操作tensor维度和指定tensor计算的神器&#xff0c;在卷积神经网络里不多见&#xff0c;本文将介绍简单介绍一下这两样工具&#xff0c;方便大家更好地理解Vision Tra…

php的filter input,php中filter_input函数用法分析

本文实例分析了php中filter_input函数用法。分享给大家供大家参考。具体分析如下&#xff1a;在 php5.2 中,内置了filter 模块,用于变量的验证和过滤,过滤变量等操作&#xff0c;这里我们看下如何直接过滤用户输入的内容.fliter 模块对应的 filter_input 函数使用起来非常的简单…

COCO 数据集格式及mmdetection中的转换方法

COCO 数据集格式及mmdetection中的转换方法 COCO格式 CV中的目标检测任务不同于分类&#xff0c;其标签的形式稍为复杂&#xff0c;有几种常用检测数据集格式&#xff0c;本文将简要介绍最为常见的COCO数据集的格式。 完整的官方样例可自行查阅&#xff0c;以下是几项关键的…

php获取h1,jQuery获取h1-h6标题元素值方法实例

本文主要介绍了jQuery实现获取h1-h6标题元素值的方法,涉及$(":header")选择器操作h1-h6元素及事件响应相关技巧,需要的朋友可以参考下&#xff0c;希望能帮助到大家。1、问题背景&#xff1a;查找到h1-h6&#xff0c;并遍历它们&#xff0c;打印出内容2、实现代码&am…

在导入NVIDIA的apex库时报错 ImportError cannot import name ‘UnencryptedCookieSessionFactoryConfig‘ from

在导入NVIDIA的apex库时报错 ImportError: cannot import name ‘UnencryptedCookieSessionFactoryConfig’ from ‘pyramid.session’ (unknown location) 报错 在使用NVIDIA的apex库时报错 ImportError: cannot import name ‘UnencryptedCookieSessionFactoryConfig’ fro…

php怎么取request,PHP-如何在Guzzle中获取Request对象?

我需要使用Guzzle检查数据库中的很多项目.例如,项目数量为2000-5000.将其全部加载到单个数组中太多了,因此我想将其分成多个块&#xff1a;SELECT * FROM items LIMIT100.当最后一个项目发送到Guzzle时,则请求下一个100个项目.在“已满”处理程序中,我应该知道哪个项目得到了响…

[2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析

[2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析 论文&#xff1a;https://arxiv.org/abs/2104.00323 代码&#xff1a;https://github.com/dvlab-research/JigsawClustering 总结 本文提出了一种单批次&#xff0…

java jps都卡死,java长时间运行后,jps失效

在部署完应用后&#xff0c;原本jps使用的好好的&#xff0c;能正确的查询到自己正在运行的java程序。但&#xff0c;过了一段时间后&#xff0c;再使用jps来查看运行的应用时&#xff0c;自己运行的程序都看不到&#xff0c;但是自己也没有关闭这些程序啊&#xff01;然而使用…

指针(*)、取地址()、解引用(*)与引用()

指针(*)、取地址(&)、解引用(*)与引用(&) C 提供了两种指针运算符&#xff0c;一种是取地址运算符 &&#xff0c;一种是间接寻址运算符 *。 指针是一个包含了另一个变量地址的变量&#xff0c;您可以把一个包含了另一个变量地址的变量说成是"指向"另一…