首页 > 其他分享 >[Paper Reading] TouchInsight: Uncertainty-aware Rapid Touch and Text Input for Mixed Reality from Eg

[Paper Reading] TouchInsight: Uncertainty-aware Rapid Touch and Text Input for Mixed Reality from Eg

时间:2024-10-12 21:11:14浏览次数:1  
标签:Loss Egocentric 预测 触摸 Text 模型 位置 Rapid touch

目录

TouchInsight: Uncertainty-aware Rapid Touch and Text Input for Mixed Reality from Egocentric Vision

link
时间:24.10
作者与单位:

TL;DR

由于相机摆放、自遮挡、手指快速运动等原因,从HMD的相机上直接检测Touch Input是一个难题。本工作利用双高斯分布来建模接触位置的不确定性,通过上下文先验来准确推断用户的预期输入。

Method

touch location不确定性的来源

模型中的数据流

UmeTrack -> 26DoF(时序窗口T=41) -> Mesh点 -> \(H\) hand pose feature(\(R^{92}\)): 10手指每个手指取3个点(tip/pad/edge) + 双手score -> Normalize by虚拟键盘 -> TransformerXL -> touch classification(\(R^{11}\)表示10个手指Touch与否,假设每次仅一个手指Touch)

touch localization

\(H\) hand pose feature作为输入,通过两层Linear Layer预测平面上位置不确定性分布。具体是预测高期分布的Mean与Variance,还是预测Heatmap再用2D高斯拟合,没有详细说明。

Loss

这篇文章里面提到CTC Loss以及location loss,但我都没有看明白,能否提供一些更简单解释或者更详细的信息? FromKimiChat(提示词:这篇文章里面提到CTC Loss以及location loss,但我都没有看明白,能否提供一些更简单解释或者更详细的信息?)

当然可以。在这篇文章中,CTC Loss(Connectionist Temporal Classification Loss)和Location Loss是用于训练神经网络的两种损失函数,它们用于预测和定位触摸事件。下面我将分别解释这两种损失函数:

CTC Loss(Connectionist Temporal Classification Loss)
CTC Loss是一种常用于序列建模问题的损失函数,特别是在那些输出序列可能比输入序列短,并且可能包含重复标签的情况。在这篇文章中,CTC Loss用于处理触摸事件的识别,即判断哪个手指触摸了表面。这种损失函数的优势在于它不要求模型对每个时间步的输出进行精确对齐,而是允许模型在时间上有一定的灵活性。

CTC Loss的计算涉及到以下几个步骤:

对齐(Alignment):确定目标序列(手指触摸的标签)和模型输出序列之间的所有可能对齐方式。
概率计算:计算在每种对齐方式下,模型输出序列对应于目标序列的概率。
损失计算:对所有对齐方式的概率取对数,然后取负值求和,得到最终的损失值。
CTC Loss允许模型在时间上“滑动”输出,以找到最佳对齐,这在处理像触摸事件这样可能在时间上有所变动的序列数据时非常有用。

Location Loss(定位损失)
Location Loss用于训练网络预测触摸事件发生的位置。在这篇文章中,触摸位置是通过一个二元高斯分布(bivariate Gaussian distribution)来表示的,这意味着触摸位置不仅有一个估计的均值,还有一个表示不确定性的协方差矩阵。

Location Loss的计算涉及到以下几个步骤:

预测分布:网络预测触摸位置的二元高斯分布参数(均值和协方差矩阵)。
实际位置:使用某种方式(如传感器数据)获取实际的触摸位置。
损失计算:计算预测的高斯分布与实际触摸位置之间的负对数似然(Negative Log Likelihood, NLL)。这通常涉及到计算高斯分布在实际触摸位置处的概率密度,并取负对数。
Location Loss的目的是让网络学习如何更准确地预测触摸位置,同时考虑到预测的不确定性。通过最小化这种损失,网络可以学习到在给定手部姿态的情况下,如何最好地估计触摸位置。

这两种损失函数在训练过程中结合起来使用,使得网络不仅能够识别哪个手指进行了触摸,还能准确预测触摸发生的位置。

Probabilistic command predict

简单来说就是通过融合

  • 预测的touch location Gaussian distribution
  • language prior
  • history input

来修正user error与sensing error。具体原理参考下面。

请在不使用公式的前提下,详细介绍这篇文章Method章节中的Probabilistic command predict部分 FromKimiGPT(提示词:请在不使用公式的前提下,详细介绍这篇文章Method章节中的Probabilistic command predict部分)

当然可以。在这篇文章的“Method”章节中,"Probabilistic Command Prediction"部分介绍了一种预测用户意图的方法,这种方法特别适用于混合现实环境中的文本输入。这里的关键是,系统不仅要预测用户的触摸位置,还要考虑到预测过程中的不确定性。下面是这部分内容的详细介绍,不涉及具体公式:

概率命令预测框架
目标和挑战:

目标是识别用户在混合现实环境中通过触摸输入的命令序列,比如打字时的字符序列。
挑战在于,用户的触摸行为和传感器的不确定性(比如手部遮挡或快速移动)会导致触摸位置的预测不够准确。
贝叶斯定理的应用:

为了解决这些不确定性,文章提出了一种基于贝叶斯定理的方法,这种方法可以帮助系统推断出用户最有可能想要触摸的命令(比如键盘上的字符)。
贝叶斯定理允许系统结合先前的知识(先验)和新的观测数据(用户的触摸行为)来更新对用户意图的理解。
触摸位置的不确定性:

系统会预测触摸位置,并考虑到这个预测的不确定性。这种不确定性可能来自于用户的行为(比如手指的抖动)或者传感器的限制(比如手部被遮挡)。
通过预测触摸位置的分布,系统可以更好地理解用户可能想要触摸的区域,而不仅仅是一个点。
结合语言模型:

为了提高预测的准确性,系统还会使用语言模型来提供额外的上下文信息。比如,如果用户已经输入了“he”,系统更有可能预测下一个字符是“l”而不是“x”。
这种语言模型的先验知识可以帮助系统在面对不确定的触摸输入时做出更合理的猜测。
实现:

文章中描述了如何将这种预测框架实现为一个文本输入系统,该系统可以在混合现实头显上实时运行。
系统首先通过跟踪用户的手姿来预测触摸事件,然后使用概率模型来推断用户可能想要输入的字符序列。
最后,系统使用一种称为束搜索的技术来找到最有可能的字符组合,这种方法可以考虑到语言模型的先验概率,并结合触摸位置的不确定性。
总的来说,这篇文章提出的“概率命令预测”方法,通过考虑触摸输入的不确定性,并结合语言模型的先验知识,提高了在混合现实环境中文本输入的准确性和效率。这种方法特别适用于需要快速、精确输入的场景,比如在混合现实环境中打字。

Experiment

Ablation


Alternative implementations. We evaluated the performance of our touch localization using different values for

标签:Loss,Egocentric,预测,触摸,Text,模型,位置,Rapid,touch
From: https://www.cnblogs.com/fariver/p/18461498

相关文章

  • [WPF] 可选择的TextBlock,正则匹配高亮显示
    实现TextBlock控件像TextBox一样支持选择文本,又保留TextBlock显示省略号等特性,找不到参考文献了,抱歉。下面演示基于可选择TextBlock实现的效果: 代码已上传至https://gitee.com/Pumbaa_Peng/textbook-demo.git。1<pp:ChromeWindowx:Class="TextBlockDemo.MainWind......
  • 【解决方案】Sublime Text 4 按下 Esc 键后无法输入任何内容
    在最后编辑博客内容时,我的Sublime版本为4180。我基本用SublimeText4替代了系统自带的Notepad,我用它编辑任何东西(除了代码,手动狗头)。开始我怀疑是PackageControl安装了过多依赖导致的兼容性问题,但由于Sublime多次更新,我的PackageControl再次从命令面板消失,而它......
  • RequestContextHolder
    官方api说明没有找到教程https://www.jianshu.com/p/7b0dc8c9090e一、RequestContextHolder简析在Web开发中,service层或者某个工具类中需要获取到HttpServletRequest对象还是比较常见的。一种方式是将HttpServletRequest作为方法的参数从controller层一直放下传递,不过这种有......
  • Golang上下文context
    上篇内容我们主要讲解了net/http标准库的使用,其中包含如何创建POST请求、GET请求以及如何携带参数的请求。Context介绍context释义为上下文,在我们使用goroutine时一般使用context来进行元数据的传递,非元数据不建议使用context来进行传递。那么我们主要是用context用来做什么呢?其......
  • 如何在springboot中,全局配置produces="text/plain;charset=UTF-8"
    为什么要使用produces="text/plain;charset=UTF-8"?当不用这个配置时,接口返回的数据,是有斜杠的 配置后,就正常了 以前我的配置方式,是在每个接口上,都添加上produces="text/plain;charset=UTF-8"。但是这样显示不太好,每个接口都加的话,会比较耗费时间如何做到全局配置使用W......
  • [Java/Spring] 深入理解 : Spring ApplicationContext
    [Java/Spring]深入理解:SpringApplicationContext1概述:ApplicationContext简介2源码分析ApplicationContextpackageorg.springframework.context;publicinterfaceApplicationContextextendsEnvironmentCapable,ListableBeanFactory,HierarchicalBeanFactor......
  • WPF 实现点击空白位置让TextBox等失焦
    在使用WPF开发桌面应用时,可能会遇到一个常见需求:当用户在界面上点击某个控件之外的空白区域时,当前获得焦点的控件(例如TextBox、ComboBox等)自动失去焦点。这种体验在一些场景下非常实用,尤其是当你希望用户在点击其他地方后完成对输入控件的编辑操作时。本文将介绍如何在......
  • [Java/Spring] 深入理解 : Spring BeanFactory / ApplicationContext、Environment、P
    PropertySource:解析环境资源及配置的底层组件org.springframework.core.env.PropertyResolverEnvironment:管理环境的配置与资源org.springframework.core.env.Environment其继承接口PropertyResolver属性解析器,用来解析不同属性源PropertySource里的key......
  • Android TextView跑马灯效果
    对于很多时候会有显示不全的问题,也就是会以省略号的形式显示,对于可以有焦点的Textview可以很好实现跑马灯效果,但是无焦点的TextView就不好操作,下面我来解决这个问题。1,对于能获取到焦点的只需在布局里面加上如下属性:android:ellipsize="marquee"//文字显示不完全,以什么方式......
  • C# TextBox 新增文本并定位光标
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceHS_INSURANCE_PLATFORM_FORM.BaseTool{publicclassControlHelper{//定义一个用于保存静......