颜色恒常性L2规范化思考

2024-06-05 08:18

本文主要是介绍颜色恒常性L2规范化思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

颜色恒常性L2规范化思考

  • 背景
  • 是否正确
  • 思考原因
  • 新的思考

背景

最近在做硕士毕业论文,关于颜色恒常性。在对源码进行解读的时候发现,对光源ground truth的规范化中,使用了L2方法,对应的,模型的输出光源也使用L2归一化,然后再计算角度误差。

由于之前的研究多为颜色相关,所以直觉考虑有些奇怪,因为CIE中定义色度是有色光加色法决定的,即L1,因此,如果颜色恒常性算法的最终目标是对场景光源的“色度”进行估计,那对应的应该是使用L1才对。

是否正确

在查阅NUS数据集论文,也注意到论文中提及的规范化方法为Euclidean norm,即L2,查阅了华为CVPR2020的代码和FC4的代码,归一化均使用了L2,应该是可以确定这么使用没有问题。

思考原因

对于CIE色度来讲,给到三刺激值,色度确实由L1规范化得到,但是对于颜色恒常性问题,首先可以确定最终需要使用角度误差来判定,而角度误差可以理解为在三维线性空间计算两向量的角度,而对于向量自身使用L2归一化,并不影响最终计算的角度结果。

新的思考

为什么颜色恒常性的估计光源和ground truth使用角度误差来衡量?

联想:已知CIE的色差计算是使用的Lab色空间的平方和开方的方法计算的。

虽然角度误差可以比大小,但是在不同色度上应该是不均匀的,之后查找一下是否有更好的均匀性误差评判方法。

这篇关于颜色恒常性L2规范化思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032552

相关文章

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

渐变颜色填充

GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充。我们先来看看GradientFill函数到底长得什么样子,帅不帅。 [cpp]  view plain copy print ? BOOL GradientFill(     _In_  HDC hdc,     _In_  PTRIVERTEX pVertex,     _In_  ULONG

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,

【编程底层思考】详解Java的JUC多线程并发编程底层组件AQS的作用及原理

Java中的AbstractQueuedSynchronizer(简称AQS)是位于java.util.concurrent.locks包中的一个核心组件,用于构建锁和其他同步器。AQS为实现依赖于FIFO(先进先出)等待队列的阻塞锁和相关同步器提供了一套高效、可扩展的框架。 一、AQS的作用 统一同步状态管理:AQS提供了一个int类型的成员变量state,用于表示同步状态。子类可以根据自己

【虚拟机/服务器】非图形化界面下修改Shell中颜色的设置

1、首先 cd ~ && ll 可以看到如下图所示 2、输入 sudo vim .bashrc 进入 .bashrc 并通过 /PS1 迅速从上往下定位第一个PS1 3、输入 i 进入插入模式后修改 else 下面的配置如下 说明:\e[1;32;40m] 其中1表示高亮显示,32表示字体颜色是绿色,40表示背景色为黑色 4、输入 esc 退出编辑模式到命令模式,再输入

一道算法题引发的动态内存管理的思考

在做PKU2762时,需要建邻接表。 于是按部就班写了下面一个插入边到邻接表中的函数: const int VMAX = 1010;typedef struct Graph{int vex;Graph* next;}Graph;Graph ArcGraph[VMAX];void insert(int u, int v){Graph* t = new Graph;Graph*

Excel查询颜色RGB值

1.选中单元格,点右键,设置单元格格式-填充-其他颜色-自定义,下面显示的就是该单元格颜色的RGB值 2.与十六进制换算: https://www.sioe.cn/yingyong/yanse-rgb-16/

go 和 java 技术选型思考

背景:       go和java我这边自身都在使用,感受比较深,java使用了有7年多,go也就是今年开始的,公司需要所以就学了使用,发现这两个语言都很好,需要根据场景选择,我写下我这边的看法。 关于go和java语言层面和特性就不说了,网上都有,我这边从我这边实际使用的场景情况来说,供大家参考。 给我最大的感受,php转go的不少,也是符合未来技术大趋势的,目前来看,java转go也比较