cvpr2022通知时间 (cvpr2024时间点)

cvpr2021时间,cvpr2023时间

无意中看到一篇钟表读取的论文,感觉挺有意思的,看看不同领域的论文,算法中很多改进都来自其他领域

论文题目:

It’s About Time: Analog Clock Reading in the Wild

摘要

在本文中,我们提出了一个读取自然图像或视频中的模拟时钟的框架。具体来说,我们做出了以下贡献:首先,我们创建了一个可扩展的管道来生成合成时钟,大大减少了对劳动密集型注释的需求;其次,我们引入了一种基于空间变压器网络(STN)的时钟识别架构,该架构进行了端到端的时钟校准和识别训练。我们表明,在提出的合成数据集上训练的模型可以很好地推广到真实时钟,提倡Sim2Real训练机制;第三,为了进一步缩小模拟和真实数据之间的差距,我们利用“时间”的特殊属性,即均匀性,在真实的未标记时钟视频上生成可靠的伪标签,并表明在这些视频上进行训练提供了进一步的改进,同时仍然不需要人工注释。最后,我们介绍了三个基于COCO、Open Images和The Clock movie的基准数据集,并对时间进行了完整的注释,精确到分钟。

1. 介绍

人类能够在给定环境线索(如亮度或阴影的程度)的某种粒度程度上感知时间,然而,为了知道确切的时间,我们从时钟或手表等计时仪器上读取。时钟有不同的形状、形式和风格,即使人类以前没有见过特定的时钟,也能读懂它们。在本文中,我们的目标是使机器能够执行与野外时钟相同的任务。

现在,时钟主要有两种类型—数字钟和模拟钟。数字时钟可以通过文本定位方法相对容易地处理,我们在附录中展示了这一点,但读取模拟时钟是一个不同的和具有挑战性的问题:时钟表面之间存在显着的外观差异(见图2和5),它们的图像形状和编号位置受到相机视点的严重影响,阴影和镜面反射的存在增加了与时钟指针的混淆。

虽然这个问题已经存在了很长时间,但除了在极其有限的情况下,以前没有任何解决方案能够健壮地从时钟读取时间。而且,有些令人惊讶的是,在计算机视觉文献中,读取无约束图像中的模拟时钟在很大程度上被忽视了。此外,没有可靠的评估基准,阻碍了研究界解决这一任务。然而,模拟时钟读取和自然场景中的文本识别之间有相似之处—因为在这两种情况下,(钟面或文本字体)的设计都被选择为可读的,在这两种情况下都有一个检测阶段,然后是读取阶段。时钟读取有上面概述的额外挑战,但它也有一个额外的冗余提示,即时针的位置提供了一些关于分针位置的信息。

鉴于两个任务之间的相似性,我们从一种已经成功用于文本识别的方法开始:使用合成数据集和空间变压器网络,并询问这些想法是否可以转移到我们的任务中。我们发现它们在一定程度上确实如此,并为弥合Sim2Real的泛化差距提供了进一步的贡献。

虽然能够执行一项新任务本身就是一个足够的奖励,但一旦我们能够在野外自动读取图像中的时间,就会打开许多应用程序:首先,现在可以在图像的EXIF元数据与图像中读取的时间不同的地方提供更正;其次,在视频取证中,如果时间排序不单调地进行,或者如果有速度操纵,现在可以发现视频是否被篡改了;第三,为图像和视频的搜索、检索和分组提供了一种新的方法;最后,时钟只是模拟刻度的一个(相当困难的)实例,我们提出的方法可以简单地应用于其他类型的刻度—从科学仪器到工业仪表。

在本文中,我们为这些问题提供了第一个可行的解决方案。我们做了以下贡献:首先,我们提出了一个合成数据集生成器SynClock,它被设计为泛化到真实时钟。SynClock具有几个可控特性,使其能够生成具有广泛设计的时钟。此外,我们还模拟了在生成器的数据增强过程中识别真实时钟所面临的困难,例如单应性变换、伪影、阴影。

其次,我们设计了一个包含检测和识别两个阶段的框架,检测可以简单地使用现成的对象检测模型。识别阶段包括对准网络(alignment network)和分类网络(classification network)。对准网络是一个空间变压器网络,它对单应变换参数进行回归,使时钟前后平行;分类网络确定时间精确到分钟。我们表明,该模型能够推广到实际时钟,并具有良好的精度。

第三,我们利用时间的均匀性—它以恒定的速率流动,以便在未标记的时钟视频上生成伪标签。具体来说,如果预测时间的变化率在整个视频中是恒定的,我们可以有理由相信视频中的时间标签是正确的。为了实现这一点,我们使用*绑捆**调整算法来过滤符合条件的视频,并对那些带有伪标签的视频进行训练。我们还提出了一个包含3,443个未标记时钟延时视频的数据集,并表明从伪标记的真实数据中学习可以提高性能。我们将发布原始视频,以及可靠的自动注释,涵盖2,511个视频的1.5M帧。

第四,我们提出了三个新的基准数据集,前两种方法是基于现有的目标检测数据集,即COCO和OpenImages。我们还介绍了时钟电影数据集,该数据集基于电影《时钟》(2010),这是一个24小时的不同电影蒙太奇,其中包括时钟。我们的模型在每个数据集上分别达到了80.4%,77.3%和79.0%的top-1精度,这标志着模拟时钟首次可以在无约束的图像中成功读取。

2. 相关工作

模拟时钟读数 虽然有博客文章和存储库,但这项任务在研究文献中仍然很大程度上缺失,这可能是因为缺乏适当的基准。传统的方法使用手工制作的方法,如边缘或线检测算法来读取时钟,但它们只适用于简单,干净,无人工,正面平行的时钟。由于缺乏标记数据,现有的工作通常考虑在合成时钟上进行训练,但只在合成测试集上测试他们的模型,设计时考虑了通用性,通常无法在实际场景中读取时钟。本文除了采用更具挑战性的数据仿真管道外,还利用时间的均匀性,将训练与延时模拟时钟视频的数据混合。因此,模拟和真实世界图像之间的差距在很大程度上以自我监督的方式最小化,即不使用手动注释。

刻度盘读数 与我们的工作最密切相关的是自动表盘或仪表读数,这两项任务在克服模糊、眩光和反射的影响方面面临着类似的挑战。所提出的解决方案有些类似,使用神经网络、投影变换和虚拟数据集生成器,它们对已知形状和样式的量规非常有效。这些技术可用于读取电、水或燃气表盘。我们的任务更具挑战性,因为时钟外观变化很大,我们进一步提出了一种方法来弥合这种泛化差距。

Sim2Real转换 在许多计算机视觉和机器人任务中,合成数据集被证明是一个有用的训练来源。当真值难以或不可能大规模获取时尤其如此,包括光流、文本检测和识别、姿态估计和运动分割。

3.体系结构

在本文中,我们的目标是训练一个计算机视觉系统,它可以从野外图像中读取模拟时钟上显示的时间。为了实现这一点,我们提出了一个如图1所示的框架。具体来说,我们提出的架构将图像作为输入,然后依次进行裁剪、对齐和读取。

cvpr2021时间,cvpr2023时间

3.1. 时钟定位模块(Φloc)

给定输入图像I,我们将其通过对象检测网络,来定位和裁剪时钟。

cvpr2021时间,cvpr2023时间

正如我们将在第7节的实验中所展示的那样,检测阶段可以使用现成的对象检测器来完成,而不会对性能产生太大影响,因此,这项工作主要集中在识别阶段。

3.2. 时钟识别模块(Φrec)

裁剪后的时钟可以直接传递给分类网络,然而,由于两个原因,这通常并不理想,首先,由于定位模块的不完善;其次,即使时钟被适当地定位和裁剪,由于视点的变化,它有时仍然很难读取,为了克服这些问题,我们采用空间变压器网络(STN)进行对齐,方便识别,即Φrec(·)= Φcls(Φstn(·))。

Spatial Transformer Network (Φstn) 以裁剪后的图像(Icrop)为输入,输出8个单应变换参数:

cvpr2021时间,cvpr2023时间

其中,H∈R3×3表示具有8个自由度的预测单应变换,而SAMPLER(·)表示可微分翘曲,将被剪切的时钟转换为其规范视图(icanonic),其中时钟是正面平行的,“12”的位置在顶部。

分类网络(Φcls) 对于读取时间,我们将时间量化,并将识别问题作为720路分类,即将小时(12)和分钟(60)同时分类。具体来说,我们将规范时钟(icanonic)传递给分类网络,该网络输出每个类的概率。

cvpr2021时间,cvpr2023时间

在附录中,我们将这种时间读取的分类方法与回归方法进行比较。每个网络(Φstn, Φcls)都是在ImageNet上预训练的标准ResNet50。

在介绍了架构之后,还有一个问题:我们如何有效地训练这个时钟识别模块,而不需要费力的标注过程?

4. 合成数据和Sim2Real训练

为了避免费力的手工注释,我们描述了一个模拟时钟训练对齐和识别的过程,提倡Sim2Real训练机制。具体来说,合成时钟是用不同的视点、时间和样式生成的。

4.1. 合成时钟生成器(SynClock)

受文本定位的启发,我们提出了一个可扩展的管道来生成合成模拟时钟。为了推广到真实的时钟,我们用几个可控的参数使数据集足够多样化,并添加人工制品来模拟现实世界的场景。

具体来说,我们在训练过程中改变这些参数:

•背景:颜色。

•钟面:尺寸、形状、颜色。

•时钟边框:厚度,颜色。

•打勾:每分钟打勾还是每小时打勾,距离边框的间隙,长度,厚度,颜色。

•数字:是否有数字,边框间隙,字体,字体大小,字体粗细,颜色。

•指针:是否使用2、3、4个指针(时、分、秒、闹钟)、时间、长度、背面长度、厚度、颜色、是否使用箭头、箭头尖端长度、箭头大小。(每只手可能不同)

•人工制品:手旁边的阴影,随机线条,随机单义变换。

•增强:随机模糊,颜色通道抖动图2显示了由这个SynClock生成器产生的时钟示例,进一步的示例在附录中给出。

cvpr2021时间,cvpr2023时间

4.2. SynClock训练

通过对数据生成过程的完全控制,我们可以同时训练空间变压器和分类网络。具体来说,Φstn和Φcls使用从SynClock生成的真地变换(H)和时间(t),使用L1损失和交叉熵损失进行训练:

cvpr2021时间,cvpr2023时间

5. 伪标签真实视频

虽然在精心设计的合成时钟上进行训练可以合理地推广到真实图像,但模拟和真实图像之间的域差距仍然存在,我们将在7.3节的实验中证明这一点。在本节中,我们描述了一个简单的想法,通过将训练与真实视频帧混合来最小化域间隙。一个关键的问题是,我们如何获得这些视频帧的真实时间?

5.1. 一致性约束

我们利用时间的均匀性,即时间在视频中以恒定速率单向流动。具体来说,给定一个未标记的时钟视频,我们将每个单独的帧通过定位和识别模块来获得时间预测。由于识别模块只接受了合成数据的训练,因此可能会对某些帧产生不正确的预测。在这里,我们可以方便地使用RANSAC拟合一条线,RANSAC是一种鲁棒的拟合算法,允许在存在异常值的情况下进行线拟合,在我们的情况下是不正确的时间预测。RANSAC的迭代包括用最小数量的随机采样点(两个)拟合一条线,将阈值距离内的点计数为“内线”,远离该线的点被视为离群点。多次运行RANSAC后,采用内隐点数最多的最佳拟合线,对所有离群点进行重新校准,如图3和图4所示。

cvpr2021时间,cvpr2023时间

请注意,数据是循环的,即11:59(719)连接到0:00(0)。为了克服这个问题,我们修改了RANSAC,使其适合锯齿波而不是直线,如图3所示。具体来说,在通过随机采样点拟合一条直线后,如果预测时间在[0,720]范围之外,我们必须反复对其加减720,使其落入有效范围,然后再对内线进行计数。实际上,这可以简单地通过在拟合线上应用模(%)720运算符来实现。

cvpr2021时间,cvpr2023时间

5.2. 间隔拍摄数据集

虽然上述方法可以在时钟连续运行的任何视频上工作,但大规模存储多个小时长的视频将是不切实际的。相反,我们使用延时时钟视频,时间移动得更快,允许视频持续时间在秒而不是小时的范围内。因此,我们从互联网上收集了3,443个未标记的延时时钟视频的数据集。虽然不能从这些未标记的视频中提取绝对的时间信息,但知道速度是恒定的就足以供我们使用。

联合训练 在对视频进行伪标记后,我们选择那些初始比例高于阈值(固定为0.7)的视频,初始裕度为+-3分钟。我们也拒绝*放播**太慢的视频,即整个视频少于10分钟。我们将通过滤波的视频加入到训练集中,重新训练模型。整个过程是自动化的,因此不需要额外的手工注释或筛选。尽管真实调整时钟的转换仍然不可用,这意味着中间回归损失仅适用于合成数据,模型仍然是端到端可微的。

cvpr2021时间,cvpr2023时间

迭代的再训练 伪标记和再训练的过程可以迭代地进行,具体来说,模型经过真实数据训练后,读取时钟的能力更强,因此可以用来生成更好的伪标签来训练模型,可以重复此过程以进一步改进性能。

6. 实验设置

6.1. 数据集

我们使用单独的数据集进行训练和测试,我们使用一个合成数据集和一个伪标记的真实数据集进行训练,因此能够在零手动注释的情况下训练模型。,由于这是一项新任务,在文献中没有适当的基准因此,我们提出了三个不同的测试数据集,汇总统计数据如表1所示,这五个数据集都是本文的贡献。

cvpr2021时间,cvpr2023时间

6.1.1 训练

SynClock 如前所述,我们使用SynClock数据集训练识别模块,我们还提供了真值来训练对齐网络。

Timelapse 该数据集是WebVid数据集 的一个子集,用于视频检索,使用“时钟时间流逝”作为搜索查询的关键字。它包含3,443个未标记的视频,我们使用伪标签在该数据集上进行训练,过滤视频的数量如表2所示。

cvpr2021时间,cvpr2023时间

6.1.2测试

COCO 该数据集是COCO数据集的一个子集,该数据集包含时钟,为1,911张图像和作者手动标记的时间提供了边界框。

OpenImages 该数据集是OpenImages数据集的一个子集,该数据集包含时钟,为1,311张图像和作者手动标记的时间提供了边界框。

Clock Movies 这个数据集基于电影《时钟》(2010),这是一个24小时的电影蒙太奇,由不同的电影组成。我们从电影的Fandom页面上收集了来自600多部不同电影的1244张图片。由于影片内的时间戳是设计反映绝对时间的,因此可以隐式地获得时间标签。

cvpr2021时间,cvpr2023时间

6.2. 实现细节

在定位阶段,我们使用现成的检测器CBNetV2来裁剪时钟,并在图像的每一侧添加20%的上下文以确保召回。该检测器在COCO上进行了训练,在本文撰写时,在公开发布模型的方法中,该检测器在COCO上的性能是最先进的。

我们首先在SynClock数据集上训练识别模型,在训练期间,数据集是实时生成的。我们使用Adam优化器训练模型,学习率为1e-4,批处理大小为32,迭代次数为100k。

然后,我们使用在SynClock上训练的模型为Clock Time-lapse数据集生成伪标签,并使用均匀性约束将有效标签过滤到训练集中。然后,我们在扩大的训练集上微调训练模型,进行20k次迭代,批处理大小为64,其中一半来自SynClock,一半来自伪标记数据集。然后我们重复这个过程,使用新训练的模型来生成伪标签,然后使用与第一次再训练相同的设置来重新训练模型。

6.3. 评价指标

由于这是一项新任务,没有现有的评价方法。因此,我们提出以下衡量标准:

•小时精度 当预测的小时是正确的。

•分钟精度 当预测的分钟在+-1的范围内是正确的,我们认为,在解决中间情况时,这接近人类可读性的极限,特别是在没有秒针的情况下。

•整体准确性 当小时和分钟都正确时(分钟在+-1范围内)。

我们还研究了top- 1,2,3的预测精度,因为有些时钟与指针有歧义。

7. 结果

7.1. 端到端结果

对于一个成功的检测,定位和识别都必须成功。据我们所知,目前还没有任何工作能够在这种情况下取得成功,因此与之前的工作进行比较是具有挑战性的,完整模型的结果如表3所示。我们表明,该模型能够在所有这些具有挑战性的数据集中取得成功。请注意,精度低于表5最后一行中报告的,因为这还包括检测不成功的情况。

cvpr2021时间,cvpr2023时间

7.2. Localisation-only结果

为了理清定位和识别的影响,我们首先在表4中报告了COCO和OpenImages的定位结果,为了与目标检测文献一致,我们报告了平均精度(AP50, AP75),其中边界框IoU超过阈值。我们还报告了平均精度(mAP),它是阈值上ap的平均值[50:5:95],总的来说,检测任务相当成功。

cvpr2021时间,cvpr2023时间

7.3.Recognition-only结果

为了仅在识别上评估性能,我们只选择边界框IoU高于50%的图像,表5逐渐显示了模型中不同组件的影响。

cvpr2021时间,cvpr2023时间

SynClock 我们将展示构成SynClock的部分的效果,即数据增强、单应性转换和工件。单应性对精度的贡献最大(COCO/OpenImages前1精度分别为+31.5%/+25.2%),因为它允许从各种角度和尺寸读取时钟。增强(+4.1%/+5.2%),如模糊和抖动,人工(+10.1%/+9.0%),如阴影和随机线条,都有助于弥合Syn2Real泛化差距。

Spatial Transformer 我们展示了架构中空间转换器的效果,它导致所有指标的单调改进(+1.7%/+2.2%)。

Pseudo-labelling视频 我们表明,在训练集中添加伪标记的真实视频大大提高了准确率(+14.3%/+14.1%)。迭代地重复这个过程也会产生进一步的改进(+9.0%/+10.1%)。

7.4. 定性的可视化

我们在图6中展示了定位、对齐和识别的定性结果,每个进程都可能产生错误,这将影响性能。我们表明,我们的模型推广到各种样式的时钟,并能够克服低分辨率和对准问题,失败情况也显示在底部一行中。

cvpr2021时间,cvpr2023时间

模型读取交换手的情况是我们模型的局限性的一个很好的例子。在这个例子中,两只手的长度看起来差不多。我们(人类)可以解决这种歧义,并告诉正确的时间(10:31),因为我们看时针和小时标记之间的相对位置。也就是说,如果时间是6:51(正如模型错误预测的那样),那么时针应该更接近7,而不是6,这个模型还不能推理到这个水平,因此做出了错误的预测。

8. 结论

这项工作介绍了一个在真实图像或视频中读取时钟的框架,我们还通过提出合成数据集生成器SynClock来规避识别阶段缺乏训练数据的问题,并使用均匀性约束对真实的未标记视频进行迭代伪标记。此外,我们提出了三个具有准确时间标签的基准数据集,在未来,时钟读取应该成为图像的标准处理步骤,就像现在的文本识别和目标检测一样。