毕设笔记5-毕设总结:时变标量场的全局特征追踪与相似性估计
2021-7-16
| 2026-4-26
Words Read Time  min
type
Post
status
Published
date
Jul 16, 2021
slug
summary
毕设的大致内容是对一篇论文的复现。说人话的话,就是将时变的三维体数据(格式是三维raw数据,每个时间步一个文件)分割成不同特征(一个特征就是一“块”),并实现对特征的逐帧跟踪,然后用CUDA和C++程序将结果显示为可交互的视频,可以实现视角改变,旋转、缩放等。 其中特征分割和跟踪的算法、体绘制...
tags
category
icon
password
毕设的大致内容是对一篇论文的复现。说人话的话,就是将时变的三维体数据(格式是三维raw数据,每个时间步一个文件)分割成不同特征(一个特征就是一“块”),并实现对特征的逐帧跟踪,然后用CUDA和C++程序将结果显示为可交互的视频,可以实现视角改变,旋转、缩放等。
其中特征分割和跟踪的算法、体绘制交互式视频是本项目的重点。
详细一点的说法:
本课题的方法依赖于合并树,这种数据结构很适合描述在标量场中等值集的相关情况,由此,合并树可以将标量场进行一个层次的分割,从而实现特征的提取与划分。在特征提取步骤中,首先需要处理数据,用涡流提取的方式从时变三维矢量场中得到三维标量场的数据。然后通过Carr提出的方法,计算得到数据集的合并树,并使用用拓扑简化的方法来有效处理噪声数据集。这样我们可以得到不同区域的分割,并将相似的区域聚在一起。
提取完特征后,我们需要进行特征追踪。本方法使用了形心距离、直方图相似性两种尺度加权来度量这些区域之间的空间相似性,并把它转化为图数据结构的权边,这样我们就可以将相似性的问题研究抽象成一个有向无环图,并通过求解全局最短路径的算法来进行全局时间的区域跟踪。
最后,我们需要将跟踪得到的特征和原始数据集,使用CUDA架构进行GPU并行计算的可视化,以提高性能。我们采用光线投射算法进行体绘制,给予交互效果,并且将不同时间步制作成了动画效果。
本文试图用较为通俗易懂的方式说明一下以上内容,也在此记录一下学到的东西,给之后的自己做参考。

研究背景:为什么需要做时变标量场的特征追踪?

时变标量场
在物理学和医学图像处理中,我们经常需要用到标量场或者矢量场来表示事物的情况。比如,当我们要研究天气时,比如研究某个海洋表面空气温度场,这就是一个标量场。温度是一种只有大小没有方向的量。
三维标量场,比如一块区域的温度场。传递函数使用颜色冷暖(色相值)来表示温度高低。
又比如,物理课中的电场线,就是将电场进行直观化的一种方法,与上述不同的是,电场强度是一个矢量。所以我们使用矢量场表示。而在天体物理学中,我们用标量场来表示黑洞附近扭曲的引力势。下图也是一个类似的例子。
一个二维的标量场图,猜测此图可能是在表示天体引力势大小。“L”应该是平衡的拉格朗日点。(不一定对)
关于科学可视化除了上述的颜色表征与等高线图外,还有许多别的方法,标量和矢量场也有不同的表示方式,而时变标量场的意思是随着时间变化的标量场,在原来的基础上再增加了一个维度。于是可视化的表示方法就更多了,详见之前写的文章:
什么是特征追踪
特征是一块特殊的区域,这些是专家们感兴趣的部分。如下图,这是本次使用的数据集。每一块红色线框标识的就是一个特征。比如计算宇宙学中的暗物质晕,以及燃烧科学中的火焰。
上图中深蓝色的是被我们选中的特征。我们在视频的一帧中选中一个特征后,需要在后面几帧都能跟住它。
在时变标量场体数据中,“特征”具有特殊的研究意义。跟踪特征的演化过程,不仅可以提高对科学现象的理解,而且还会对演化事件的机制产生新的有价值的见解。
国内外现有方法的缺陷
·(1)度量相似性只关注空间维度,但有一些相似性只有同时考虑时空维度才能发现。
·(2)不能得到一个按照层次聚类的特征跟踪结果。且特征跟踪结果受噪声干扰大,
·(3)特征跟踪依赖于相邻两时间步,存在局部最优解问题,而这会导致跟踪中断。
为了提高特征追踪的效果,需要有新的办法予以改进。

数据集

本次sh

合并树

等值集
合并树

DAG图构建

和C讨论了。
老师提出了形心距离。

数据可视化:体绘制与交互式视频

体绘制、传递函数与程序编码
详见之前的文章:http://stargazingguy.cn/archives/875
动画效果实现思路
设计animation函数,并使用opengl内置的GlutTimeFunc实现每隔50ms调用一次animation函数。
其中animation函数的设计思路是:调用一次initCuda函数,重置传入CUDA的体数据纹理,并再次调用d_render函数进行光线投射,并调用glutPostRedisplay函数进行重绘制。【那个流程里的内核是drender吗,还是cuda的kernel】
本来以为这样运行速度会较慢,但在2060显卡和普通intel i7 CPU的配置下运行十分流畅,能够达到可交互视频的要求。
视频单帧截图:
能够流畅地跟踪。
更换不同的视角和缩放比例
Loading...
Catalog