【计算机图形学】DINA: Deformable INteraction Analogy

2024-06-06 14:36

本文主要是介绍【计算机图形学】DINA: Deformable INteraction Analogy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 做的事
  • 2. 为什么做
  • 3. 介绍
  • 4. 方法
    • 4.1 问题定义
    • 4.2 交互表示
    • 4.3 交互类比
    • 4.4 从刚性到可变形的优化
  • 5. 讨论,限制与未来工作

1. 做的事

引入“可变形交互模仿”的定义,该定义为:在两个3D物体之间生成相近的交互。给定一个锚定物体(如手)和源物体(如被手握着的马克杯)的交互示例,我们的目标是在相同的锚定物体和多样化的新目标物体(如玩具飞机)之间生成更多3D交互。这个锚定物体可以是rigid的也可以是deformable的

实际上这也就是优化锚定物体的pose或shape,在模仿演示的情况下适应新的目标物体。

为了实现这种优化,该文章致力于使用交互接口(Interaction Interface,ITF),由在锚定物体上的一组点定义,这是一种描述性和鲁棒的交互表示,易于进行非刚性变形。在使用ITF的交互之间建模二者的相似性,以引导锚定对象通过变形与新物体上的ITF匹配。

在这里插入图片描述

2. 为什么做

数据驱动的3D交互生成模型通常需要大量的数据进行训练,这种不需要大量数据就能够生成交互的方法有益于丰富数据并生成更多样化的结果

3. 介绍

要解决这个问题,最基础的问题是:

  1. 如何表示和优化3D交互;

  2. 如何测量目标交互和示例交互的相似性;

  3. 最重要的是要找到一种符合下列要求的表示方法:

  • 对物体-物体的交互敏感,而不是只对单个3D物体

  • 对于交互物体的形状变化鲁棒的表示

  • 适合于非刚性与适应性变化,例如人类的手具有较高的维度

  • 能用于可变形的建模

基于上述要求,研究了一种比IBS还要好用的ITF,称为交互接口。这种交互接口被定义为锚定物体上的一组固定点。

为了评估示例交互与目标交互的相似性,这里基于逐点距离,来表示物体-物体的交互,逐点距离是从锚定物体上的交互接口到源物体的距离。给定一个示例交互和任意姿态的(可能被旋转之类的)新的目标物体,本文的优化将分为两个步骤:

  1. 执行刚性交互类比,通过距离特征匹配,让锚定物体刚性地变化到合适的位置

  2. 根据上述结果,局部变形ITF,以及锚定物体,使得结果的point-wise ditance特征(锚定手与物体两两之间的距离)与示例交互中的尽可能接近

4. 方法

4.1 问题定义

给定交互示例 ( O a , O s ) (O_a, O_s) (Oa,Os),其中 O a O_a Oa是能够变形的锚点物体, O s O_s Os是源物体,将来会被替换成以随机姿态给定的目标物体 O T O_T OT。目标是优化:

{ T ‾ , D ‾ } = arg min ⁡ { T , D } d i s t ( f ( O a , O s ) , f ( T ⋅ D ( O a ) , O t ) ) \{\overline{T},\overline{D}\}=\argmin_{\{T,D\}} dist(f(O_a, O_s), f(T·D(O_a), O_t)) {T,D}=argmin{T,D}dist(f(Oa,Os),f(TD(Oa),Ot))

其中 f ( O 1 , O 2 ) f(O_1, O_2) f(O1,O2)是物体 O 1 O_1 O1 O 2 O_2 O2之间的交互表示, d i s t ( f 1 , f 2 ) dist(f_1, f_2) dist(f1,f2)是在两个交互表示之间定义的距离度量。

4.2 交互表示

为了表示示例交互 ( O a , O s ) (O_a, O_s) (Oa,Os),利用了交互二分面(Interaction Bisector Surface,IBS),这种方式对于表示交互物体的局部几何细节在空间上的关系是非常鲁棒的。想要提取IBS,首先要在两个交互物体(在本文就是锚定物体和源物体间)上均匀采样一组点,然后为这两个物体计算Voronoi图。IBS是Voronoi图ridges的一个子集,接着构成了表面网格。但IBS计算本身很复杂,对应的距离测量方式也很难使得IBS应用于DINA中。

为了真正确定交互发生的区域,进一步在 O a O_a Oa上选择一组点,通过IBS构成交互接口ITF,表示为 卡 方 a 卡方_a a。相比IBS,这是一种从交互物体中分离的表示,ITF是在锚定物体 O a O_a Oa上的一组点。因此,锚定物体的变形可以自然地由ITF驱动,对于点 p ∈ 卡 方 a p∈卡方_a pa,记录到源物体的最短距离 O s O_s Os为: d ( p , O s ) = min ⁡ q ∈ O s ∣ ∣ p − q ∣ ∣ 2 d(p,O_s)=\min_{q∈O_s}||p-q||_2 d(p,Os)=minqOs∣∣pq2

在这里插入图片描述

如图所示,(a)展示的就是交互二分面,这是位于交互主体与交互客体之间的一个二分面,将交互区域均匀地分成两部分。(b)是作者计算的所谓的ITF交互接口,就是在交互主体上取一组点,计算这组点到物体的最近距离。©是在目标物体上使用交互接口计算的与目标物体之间的距离,是deform后交互接口的直观展示。

4.3 交互类比

目标函数。 由上表示,实际上优化目标是目标物体的逐点距离 { d ( T ⋅ D ( p ) , O t } \{d(T·D(p),O_t\} {d(TD(p),Ot},使得它尽可能地接近 d ( p , O s ) d(p,O_s) d(p,Os),也就是让上图的(b)和©的距离尽可能接近。ITF是交互主体 O a O_a Oa上的一组点 卡 方 a 卡方_a a,所以目标函数可以被视作:

L I T F ( T , D ) = ∑ p ∈ 卡 方 a ∣ d ( p , O s ) − d ( T ⋅ D ( p ) , O t ) ∣ L_{ITF}(T,D)=\sum_{p∈卡方_a}|d(p,O_s)-d(T·D(p),O_t)| LITF(T,D)=pad(p,Os)d(TD(p),Ot)

就是使两个距离尽可能接近,套一个绝对值

为了避免严重自交问题,进一步加上了一个显式惩罚项:

L P E N ( T , D ) = ∑ x i ∈ O a ′ max ⁡ ( ( x i − x t ) ⋅ n t , 0 ) + λ ∑ x j ∈ O t ′ max ⁡ ( ( x j − x a ) ⋅ n a , 0 ) L_{PEN}(T,D)=\sum_{x_i∈O'_a}{\max ((x_i-x_t)·n_t,0)}+\lambda\sum_{x_j∈O'_t}{\max ((x_j-x_a)·n_a,0)} LPEN(T,D)=xiOamax((xixt)nt,0)+λxjOtmax((xjxa)na,0)

这里的 O a ′ = T ⋅ D ( O a ) O'_a=T·D(O_a) Oa=TD(Oa)是transfrom和变形后的锚定物体, x t x_t xt O t O_t Ot上具有法线 n t n_t nt最近点 x i x_i xi x a x_a xa O a ′ O'_a Oa上的具有法线 n a n_a na的最近点 x j x_j xj

法线恒为正方向,就是约束不自交吧,先约束物体表面上的点,再约束锚点物体的点。

最后的目标函数就是上面两个损失的结合。

4.4 从刚性到可变形的优化

目标物体的 O t O_t Ot的大小和几何可能和源物体 O s O_s Os有着较大的差异,锚点物体可能和源物体 O s O_s Os的交互看起来很自然很好,但不一定适应于 O t O_t Ot。因此不仅需要对锚点物体 O a O_a Oa变形,还需要做transform,以更好地适应目标物体 O t O_t Ot

一种最直观的方法就是同时优化global transform T T T和local deformation D D D,但是这样搜索空间太大,很容易陷入局部最小值。

在这里插入图片描述

常见的方法是给 D D D加上一个正则化项,来约束锚定物体的变形在一个合理的pose和shape下,但是作者发现很难平衡正则化项和目标函数的权重。太弱的正则化通常导致不自然的手部姿态(如上图(a)),太强的正则化又会过度约束手部姿态导致不能合理地抓握目标物体(如上图(b))。

为了使优化更稳定,提出了两步优化方法。第一步是进行刚性变换,在获得了一个较好的初始交互位置后(如上图©),通过第二步局部变形来做局部变换(如上图(d))。

5. 讨论,限制与未来工作

ITF和距离特征可以用于指导锚定对象全局姿态优化和局部变形,从而形成更类似于示例交互的交互。实验证明简单但富含信息量的表示相对其他现有方法带来了更加出人意料的结果。

限制与未来工作直接机翻了:

我们目前的方法有以下限制,我们计划在未来的工作中进行研究。首先,我们目前主要进行DINA手抓实验,这显然是一个突出的应用。虽然手只执行铰接运动,我们的itf驱动的优化没有假设或保证锚物体的分段刚度。在未来,在实验中表现出一般软体变形的锚定物体将是很有趣的。第二,即使在渗透损失的情况下,仍然可能出现物体交叉,特别是当演示有一个较大的接触区域,而目标在接触区域周围的几何形状相当不同时,如图10所示的失败例子所示。未来的改进是探索在这种情况下找到更好的平衡的方法。此外,我们的工作集中于与单一演示的交互类比,我们发现不同的目标对象可能有利于各种演示,以形成更好的交互。在这方面,如果有多个演示可用,如何选择最好的一个,甚至将它们结合起来,为交互类比提供最佳的指导是值得的。

这篇关于【计算机图形学】DINA: Deformable INteraction Analogy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

Python计算机视觉编程 第十章

目录 一、OpenCv基础知识 1.读取和写入图像 2.颜色空间 3.显示图像和结果 二、处理视频 1.输入视频 2.将视频读取到NumPy数组中 三、跟踪 1.光流 2.Lucas-Kanade算法 一、OpenCv基础知识 OpenCV 自带读取、写入图像函数以及矩阵操作和数学库。 1.读取和写入图像 import cv2# 读取图像im = c

2025届计算机毕业设计:如何构建Java SpringBoot+Vue个人健康档案管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

计算机毕业设计选题推荐-域名管理系统-域名商城-域名竞拍系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python项目 安卓项目 微信小程序项目 文章目录 一、前言二、开发环境三、系统界面展示四、代码参考五、论文参考六、系统视频结语

计算机基础知识复习9.6

点对点链路:两个相邻节点通过一个链路相连,没有第三者 应用:PPP协议,常用于广域网 广播式链路:所有主机共享通信介质 应用:早期的总线以太网,无线局域网,常用于局域网 典型拓扑结构:总线型 星型(逻辑总线型) 介质访问控制  静态划分信道 信道划分介质访问控制 频分多路复用FDM 时分多路复用TDM 波分多路复用WDM 码分多路复用CDM 动态分配信道 轮询访问介质访问控