论文题目:Recursive interlocking puzzles

声明:文中所有观点仅代表个人见解,若有不妥之处欢迎指正。

这篇论文于2012年 被 SCI 1区 "ACM TRANSACTIONS ON GRAPHICS"录用。

目录

1. Overview

2.Method

2.1 Step 1: 确定Pi(key piece)

(1) 选择一个seed voxel作为key piece构建的基石

(2)计算体素的可访问性

(3)确保key piece 的阻塞性和可移动性

(4)扩展key piece

(5)确定key piece

2.2 Step 2: 确定Pi+1

(1)候选seed voxel

(2)构建初始Pi+1

(3)确保局部联锁

(4)扩展Pi+1(同2.1)

(5)确定Pi+1(同2.1)


1. Overview

recursive interlocking:只能按照固定的顺序,一块一块拼图移除,若前一个拼图没有移除,则后一个无法移除

在本文方法,每一步中唯一可以移动的拼图叫做key piece

S → [P1, R1] → [P1, P2, R2] → ... → [P1, ...Pn, Rn] .

(a)  模型体素化,并作为输入S

(b)确定key piece P1(首先移除的拼图), 剩下的体积为R1 --- [P1,R1]

(c)从R1中找到下一个key piece P2,剩下体积为R2  ---  [P1,P2,R2]

(d)以此类推,直到将模型所有部分都移除

2.Method

Declaration:拼图只能沿着唯一方向平移移除,一旦进行平移,就认为该块拼图已经完全移除。

整个方法可以分为两步,第一步确定Pi,就是每一步中的key piece,第二步确定Pi+1,就是下一步的key piece. 通过recursive interlocking的规则,可以总结出Pi及Pi+1 的特点:

Pi: 能够第一个被移除;只能从一个方向被移除;simply connected (整个模型在拼图移除前后都是单联通的)

Pi+1:Pi没有移除时,Pi+1不能移动,且Pi+1与Pi不能同时移动;Pi移除后,Pi+1可以移除;Pi+1与R+1也需要是simply connected

2.1 Step 1: 确定Pi(key piece)

(1) 选择一个seed voxel作为key piece构建的基石

识别模型中的体素,有且只有两个面是模型外表面,且其一的面法向竖直向上(如上图粉色体素),这些体素作为seed voxel的候选,从中随机/根据用户喜好选择一个作为seed voxel。

面法向竖直向上 原因:由于一般情况下,模型都是竖直放置的,所以将key piece的默认移动方向认定为竖直向上,这样在没有移除key piece时,模型更加稳定。

(2)计算体素的可访问性

因为确定Pi后,剩下的体积需simply connected,为了减小确定key piece之后剩余体积被分割成多个部分的可能性,这里计算体素的可访问性(即递归地计算体素地邻居体素地个数)。若邻居体素越少,可访问性越小,越不好访问,越容易被碎片化(分割开)(这一类体素大多是边界体素,如下图红色越深,可访问性越低)。所以在构建key piece时,优先将可访问性低地体素包含进去。

(3)确保key piece 的阻塞性和可移动性

阻塞性指阻碍剩余体积(Ri)的移动

首先识别seed voxel两个外表面中,除法向竖直向上以外的另一个面的法向vn,然后广度优先搜索Nb1个体素对。(体素对中,vn正向一侧的是blocking体素,反向的是blockee体素。)从Nb1个体素对中选择Nb2个体素对,其blockee体素的可访问性最小。

然后按照三个策略构建key piece:

①阻碍key piece沿着vn方向移动(因为默认移动方向是竖直方向,为保持这一唯一可移动方向),计算从seed voxel到blockee voxel的最短路径,注意不能穿过blocking voxel及其下方体素(利用blocking voxel 阻碍key piece沿vn方向的移动)然后将选择的路径上的所有体素都添加到key piece中。

②为了确保key piece能够竖直向上移动,将所选择的路径上方的所有体素都添加进来。

到此为止,我们就得到了不能沿vn移动,可以沿竖直向上移动的key piece.

③一开始的seed voxel只有两个可移动方向,但是在田家庵提速的过程中,就会导致出现其他的可移动方向,但我们还要保证key piece只能沿唯一方向移动。

识别anchor 体素(下图中A,对于多个方向存在多个anchor):沿着最初被阻塞的方向(一开始不能被移动的方向)到seed voxel最远且直接连接的体素。

如果anchor体素始终保持在剩余部分,不添加到key piece中,就可以保证key piece在被阻塞的方向上始终都是不可移动的。(下图所示为二维示意图)

(4)扩展key piece

为了平衡拼图之间的尺寸(所包含的体素个数)

对构建的key piece,识别它的anchor voxel,然后识别待添加的体素的候选集{ui},这些待添加的体素在key piece的旁边,且不在anchor voxel 的位置或其上方。并且候选集中的体素,要识别其上方的体素(因为该体素被添加,其上方的体素也需要被添加,才能保证竖直向上可移动)。计算ui中每个体素及其上方体素的可访问性,然后将这个值作为体素被选择的概率,从ui中选择可访问性更低的m个体素。当key piece中的体素个数够了,就将剩下的体素从ui中移除。

N为模型体素化后的所有体素数量;K为拼图数量

(5)确定key piece

这是得到的key piece符合了所有要求,但之前提到,Pi, Pi+1, Ri+1, 其中Pi+1,Ri+1都要求是simply conneted。以下图为例,P1已经确定,P2尚未确定,为确保R2是simply connected, 将Pi紧挨的体素记为Rs,判断R2是否能访问到所有Rs,若不能,就说明不是simply connected。

2.2 Step 2: 确定Pi+1

(1)候选seed voxel

也是从seed voxel开始,di是Pi的移动方向。因为Pi+1是由Pi阻碍无法移动,所以Pi+1至少有一个体素在Pi旁边。且每一移动只能移动一个拼图,所以Pi+1和Pi的移动方向是不同的。

所以这里选取的候选seed voxel是挨在Pi旁边的,且连接面的法向与di垂直

为了减少候选体素的数量减少到10个,遵循以下标准:较小的可访问性;更小的路径最远距离(这是因为距离越短,涉及到的体素越少,在构建拼图时,初始的体素越少,之后建立时灵活性越高)

(2)构建初始Pi+1

对于每一个候选seed voxel,识别其沿着di+1方向上的所有体素,然后确定一条从seed voxel连接到这些体素的最短路径,然后为了使之能够在di+1方向移动,添加其余所需体素。确定路径后,计算这些候选体素的可访问性的和,选取最小的,就是初始Pi+1。

(3)确保局部联锁

现在已经确定Pi+1可以在di+1方向上移动,接下来要确保其在其他五个方向上不能移动:

这里局部联锁指的是当Pi和Ri+1存在的时候,Pi+1不可移动;Pi+1不能和Pi一起移动。

为满足局部联锁,这里需要对这五个方向每个都进行是否可移动的检查(如果Ri+1或Pi有任何一个体素在d方向上挨着Pi+1,那么Pi+1就不能移动)。

(4)扩展Pi+1(同2.1)

(5)确定Pi+1(同2.1)


实验部分及结论部分参照论文,不做赘述。

Thanks for reading!

Recursive Interlocking Puzzles 论文笔记相关推荐

  1. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  2. 论文笔记:CQR-SQL: Conversational Question Reformulation Enhanced Context-Dependent Text-to-SQL Parsers

    论文笔记:CQR-SQL: Conversational Question Reformulation Enhanced Context-Dependent Text-to-SQL Parsers 目 ...

  3. ORB-SLAM3 论文笔记

    ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...

  4. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  5. 最新图神经网络论文笔记汇总(附pdf下载)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 [导读]近年来,图神经网络变得非常火热,每年顶会在该领域内都会出现大量的研究论文,本文为大家提 ...

  6. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  7. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  8. 光流 速度_[论文笔记] FlowNet 光流估计

    [论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...

  9. 论文笔记 《Maxout Networks》 《Network In Network》

    原文出处:http://zhangliliang.com/2014/09/22/paper-note-maxout-and-nin/ 论文笔记 <Maxout Networks> & ...

最新文章

  1. MySQL的优化(大纲)
  2. mysql 5.6 安装教程
  3. 【Java文件操作(一)】递归打印文件目录
  4. 云计算与星辰大海的结合
  5. 页面增加html,为静态页面HTML增加session功能
  6. mysql 创建视图 主键_MySQL数据库基础操作命令,本文助你更上一层楼!
  7. 商业的本质 + 社交电商思考
  8. 3d公式算法计算机,最新3d万能计算定胆公式来了
  9. 树莓派SD卡手动格式化
  10. 【零样本学习】Zero-Shot Learning via Class-Conditioned Deep Generative Models
  11. 修炼你的《九阳神功》行走江湖
  12. python实现泊松分布_常见的分布及如何使用python实现
  13. 〖Python语法进阶篇⑱〗- 综合实战 - 抽奖系统之admin模块 - 抽奖系统之admin模块 - 实现对奖品的增删改操作
  14. php不能上传doc文件,PHPCMS不能上传WORD、EXCEL等文件的问题
  15. [Python]Tkinter+Numpy+Matplotlib 进行的简单交互+曲线拟合+图像绘制【已改进】
  16. python切面异常处理_node端统一错误处理
  17. 蚂蚁能量助手v1.0下载App安卓
  18. 简单两步彻底根除系统多余输入法
  19. 一文看懂电磁波的波段命名
  20. OpenCV应用(4)雄迈相机网络取图

热门文章

  1. 贵州学业水平测试信息技术软件,贵州2020年普通高中信息技术学业水平考试报名工作的通知...
  2. vueh5调用摄像头拍照_H5调用摄像头拍照上传
  3. smart原则_高效能宝宝养成记之七 SMART原则:梦想与空想只隔一个目标的距离
  4. poj3666(基础dp+离散化)
  5. 定积分的计算(分部积分法)
  6. 超级浏览器适合TikTok Shop使用吗?TikTok Shop群店如何管理?
  7. 【嵌入式Linux】基于orangepi的官方外设开发
  8. 【工具】fis3 - 使用教程(01)
  9. 超市进销存系统管理源码 超市管理系统源码 (CS架构)
  10. CS224N WINTER 2022(一)词向量(附Assignment1答案)