论文《Exploring CLIP for Assessing the Look and Feel of Images》阅读

论文《Exploring CLIP for Assessing the Look and Feel of Images》阅读

  • 论文概述
  • Preliminary
  • 方法论
  • Experiments
  • 结论

论文概述

今天带来的是论文《Exploring CLIP for Assessing the Look and Feel of Images》,论文主要通过 CLIP 模型来完成图像的质量(how it looks,即quality perception)和情感(how it feels, 即abstract perception)评分。

论文由南洋理工S-Lab完成,论文内容相对简单。整体来讲就是在 vision-language 跨模态大模型训练的时候将原始的prompt改为形容词及其反义词的二元组prompt,以减小表达中的歧义。

论文发表在AAAI 2023上,模型取名为CLIP-IQA

Preliminary

下面介绍一下一些基本术语:
IQA: Image Quality Assessment 图像质量评价
CLIP:a Vision-Language Pre-Training SOTA model,主要完成跨模态对齐(Cross-modal Alignment, CMA

方法论

CLIP-IQA architecture
本文主要聚焦于IQA中关于look和feel的评价,其实也就是客观质量评价和主观质量评价,分别(1)关注图片质量(look)如何(粗粒度讲分为“好”/“不好”;细粒度讲包括“噪声”、“明亮度”、“对比度”、“色彩”等(非CV方向,可能翻译不太准));(2)关注图像内容蕴含的抽象感受(例如“恐怖”、“自然”、“快乐”、“复杂”等)。
质量评价
随着大模型的火热,现阶段主要基于CLIP完成跨模态语义对齐,分别通过NLP token 和 CV images 的 描述,将图像和文本语义在空间中的描述进行统一,最终完成语义的挖掘。

作者认为当前主要问题是文本和图像可能存在偏差,具体而言就是文本描述存在歧义,使得无法真正做到文本和图像的一一对应。

作者怎么做的呢?其实就是把原来的文本换成二元组,加上文本描述的反义词,通过反义词从而消除文本的歧义,分别和图像生成的embedding做相似性比较,然后两个相似性分数通过softmax,得到最终的分类预测分数。即,

s = x ⊙ t ∥ x ∥ ⋅ ∥ t ∥ . (1) s=\frac{\boldsymbol{x} \odot \boldsymbol{t}}{\|\boldsymbol{x}\| \cdot\|\boldsymbol{t}\|}. \tag{1} s=xtxt.(1)

将原来CLIP中的对比学习求相似度部分改为下面:

s i = x ⊙ t i ∥ x ∥ ⋅ ∥ t i ∥ , i ∈ { 1 , 2 } (2) s_i=\frac{\boldsymbol{x} \odot \boldsymbol{t}_i}{\|\boldsymbol{x}\| \cdot\left\|\boldsymbol{t}_i\right\|}, \quad i \in\{1,2\} \tag{2} si=xtixti,i{1,2}(2)

s ˉ = e s 1 e s 1 + e s 2 . (3) \bar{s}=\frac{e^{s_1}}{e^{s_1}+e^{s_2}}. \tag{3} sˉ=es1+es2es1.(3)

这里,我们附上CLIP的大概原理图:
CLIP

另外,在上面的基础上,作者提出对于CLIP中的图像编码器来讲,针对于质量评价任务,positional embedding是多余的。例如,对于分辨率评价来讲,如果对图片进行裁剪,就无法判断原图的分辨率是否达到要求(这里作者讲的模型是ResNet-50-based CLIP,不知道是不是笔误,不应该是ViT-based CLIP吗?ResNet 有设计到 positional embedding的部分吗?不都是直接卷积移动吗?了解不深,欢迎评论区讨论)。

作者对 image encoder 采用了ResNet variant(具体是何变种没有提及),取消了positional embedding 的设计。

Experiments

Experiments for Overall Quality
可以看到,CLIP-IQA 在 无精调情况下,表现基本持平或小幅度劣于BRISQUE。这里的最好表现的baseline BRISUQE(2012),不知道这个BRISQUE属不属于SOTA方法。

在有精调的情况下,CLIP-IQA不那么好。

结论

本文创新性可能略低,同时实验部分表现好像也不那么好。在实验部分的结果展示中,使用了太多的可视化展示,而没有具体的数字呈现,总给人一种遮遮掩掩的感觉。甚至还加了一个人工识别(25个人)与模型结果的比较部分,挺迷的。

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

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

相关文章

Unity性能优化篇(四) GPU Instancing

使用GPU Instancing可以在一个Draw Call中同时渲染多个相同或类似的物体,从而减少CPU和GPU的开销。 官方文档:https://docs.unity3d.com/Manual/GPUInstancing.html 启用GPU Instancing,我们可以选中一个材质,然后在Inspector窗口…

express基础

express express介绍 官网传送门基于 Node.js 平台,快速、开放、极简的 Web 开发框架express特点 Web 应用 Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。…

【Vue】sessionStorage存取数据

一. 需求 1.1 模板 Vab Admin Pro 1.2 组件 ElementUI 1.3 阐述 列表页面搜索【关键词】点击【查询】后,点击【查看】按钮跳转到【详情页】,详情页【返回】【保留原搜索关键词】 原图 搜索查询【关键词】 详情 返回后【保留】【搜索查询关键词…

AI制作PPT软件有哪些?亲测并推荐10款PPT制作AI工具!

在信息爆炸的时代,我们都渴望找到一种最佳方式,可以让我们的思想和观点更有效地传达出去。其实最适合的表达工具,就在我们身边——很多人熟悉的PPT工具,就是这样一个强大的媒介。 不过,面对市场上琳琅满目的PPT制作工…

【Web - 框架 - Vue】随笔 - Vue的简单使用(01) - 快速上手

【Web - 框架 - Vue】随笔 - Vue的简单使用(01) - 快速上手 Vue模板代码 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>模板</title> </head> <body> <div></di…

JVM3_数据库连接池虚引用ConnectionFinalizerPhantomReference引起的FullGC问题排查

背景 XOP服务运行期间&#xff0c;查看Grafana面板&#xff0c;发现堆内存周期性堆积&#xff0c;Full GC时间略长&#xff0c;需要调查下原因 目录 垃圾收集器概述 常见的垃圾收集器分区收集策略为什么CMS没成为默认收集器 查看JVM运行时环境分析快照 PhantomReference虚引用…

收银系统源码-智慧新零售2.0小助手全新升级!

欢迎后台私信&#xff0c;测试体验&#xff01; 新零售助手是智慧新零售系统的移动管理端&#xff0c;尤其针对商户/门店日常经营必不可少的一环。智慧新零售2.0版小助手也进行了全新升级&#xff0c;使用起来更简单&#xff0c;页面更美观。小助手采用微信小程序登陆&#xf…

前端每日一练 :相邻元素、嵌套元素Margin 塌陷、合并问题如何额解决?

相邻元素外边距塌陷合并 表现示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</t…

PPT模板一键下载,原创精美,2024必备!

1. PPT模板分享 &#xff08;1&#xff09;计算机学院毕业答辩PPT &#xff08;2&#xff09;开学典礼活动策划方案PPT &#xff08;3&#xff09;新员工入职培训PPT &#xff08;4&#xff09;宠物行业分析报告PPT &#xff08;5&#xff09;机关青年干部述职PPT 以上PPT模板均…

程序异常结束退出 无输出 无显式报错日志 爆栈

需求 开一个很大的数组&#xff08;300万&#xff09; ❗ 错误示例 #include <stdio.h>int main() {int size 3000000;int a[size];a[size-1] 999;printf("%d",a[size-1]);return 0; }&#x1f60b; 解决方案 局部变量存储在栈空间 &#xff08;较小&…

leetcode:88. 合并两个有序数组

原题地址&#xff1a;https://leetcode.cn/problems/merge-sorted-array/description/ 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&a…

Android随手记

activity的生命周期 创建时 onCreate() - onStart() - onResume() - onPause() - onStop() - onDestroy() 切换时 a切换到b a.onCreate() - a.onStart() - a.onResume - a.onPause - b.onCreate() - b.onStart() - b.onResume() - a.onStop() b切换回a b.onPause() - a.onR…