Matching Items (3)
Filtering by

Clear all filters

153851-Thumbnail Image.png
Description
In this thesis, a FORTRAN code is rewritten in C++ with an object oriented ap-

proach. There are several reasons for this purpose. The first reason is to establish

the basis of a GPU programming. To write programs that utilize GPU hardware,

CUDA or OpenCL is used which only support C and C++.

In this thesis, a FORTRAN code is rewritten in C++ with an object oriented ap-

proach. There are several reasons for this purpose. The first reason is to establish

the basis of a GPU programming. To write programs that utilize GPU hardware,

CUDA or OpenCL is used which only support C and C++. FORTRAN has a feature

that lets its programs to call C/C++ functions. FORTRAN sends relevant data to

C/C++, which in turn sends that data to OpenCL. Although this approach works,

it makes the code messy and bulky and in the end more difficult to deal with. More-

over, there is a slight performance decrease from the additional data copy. This is

the motivation to have the code entirely written in C++ to make it more uniform,

efficient and clean. The second reason is the object oriented feature of the C++. The

“abstraction”, “inheritance” and “run-time polymorphism” features of C++ provide

some form of classes and objects, the ability to build new abstractions, and some

form of run-time binding, respectively. In recent years, some of popular codes has

been rewritten in C++ which were initially in FORTRAN. One of these softwares is

LAMMPS.

In this code the level set equation is solved by RLSG method to track the interface in

two phase flow. In gas/fluid flows, the surface tension is important and only exists at

the interface. Therefore, the location and some geometric features of interface need

to be evaluated which can be achieved by solving the level set equation.
ContributorsSafarkhani, Salar (Author) / Herrmann, Mrcus (Thesis advisor) / Oswald, Jay (Committee member) / Rykczewski, Konrad (Committee member) / Arizona State University (Publisher)
Created2015
152126-Thumbnail Image.png
Description
Video object segmentation (VOS) is an important task in computer vision with a lot of applications, e.g., video editing, object tracking, and object based encoding. Different from image object segmentation, video object segmentation must consider both spatial and temporal coherence for the object. Despite extensive previous work, the problem is

Video object segmentation (VOS) is an important task in computer vision with a lot of applications, e.g., video editing, object tracking, and object based encoding. Different from image object segmentation, video object segmentation must consider both spatial and temporal coherence for the object. Despite extensive previous work, the problem is still challenging. Usually, foreground object in the video draws more attention from humans, i.e. it is salient. In this thesis we tackle the problem from the aspect of saliency, where saliency means a certain subset of visual information selected by a visual system (human or machine). We present a novel unsupervised method for video object segmentation that considers both low level vision cues and high level motion cues. In our model, video object segmentation can be formulated as a unified energy minimization problem and solved in polynomial time by employing the min-cut algorithm. Specifically, our energy function comprises the unary term and pair-wise interaction energy term respectively, where unary term measures region saliency and interaction term smooths the mutual effects between object saliency and motion saliency. Object saliency is computed in spatial domain from each discrete frame using multi-scale context features, e.g., color histogram, gradient, and graph based manifold ranking. Meanwhile, motion saliency is calculated in temporal domain by extracting phase information of the video. In the experimental section of this thesis, our proposed method has been evaluated on several benchmark datasets. In MSRA 1000 dataset the result demonstrates that our spatial object saliency detection is superior to the state-of-art methods. Moreover, our temporal motion saliency detector can achieve better performance than existing motion detection approaches in UCF sports action analysis dataset and Weizmann dataset respectively. Finally, we show the attractive empirical result and quantitative evaluation of our approach on two benchmark video object segmentation datasets.
ContributorsWang, Yilin (Author) / Li, Baoxin (Thesis advisor) / Wang, Yalin (Committee member) / Cleveau, David (Committee member) / Arizona State University (Publisher)
Created2013
151802-Thumbnail Image.png
Description
The complexity of the systems that software engineers build has continuously grown since the inception of the field. What has not changed is the engineers' mental capacity to operate on about seven distinct pieces of information at a time. The widespread use of UML has led to more abstract software

The complexity of the systems that software engineers build has continuously grown since the inception of the field. What has not changed is the engineers' mental capacity to operate on about seven distinct pieces of information at a time. The widespread use of UML has led to more abstract software design activities, however the same cannot be said for reverse engineering activities. The introduction of abstraction to reverse engineering will allow the engineer to move farther away from the details of the system, increasing his ability to see the role that domain level concepts play in the system. In this thesis, we present a technique that facilitates filtering of classes from existing systems at the source level based on their relationship to concepts in the domain via a classification method using machine learning. We showed that concepts can be identified using a machine learning classifier based on source level metrics. We developed an Eclipse plugin to assist with the process of manually classifying Java source code, and collecting metrics and classifications into a standard file format. We developed an Eclipse plugin to act as a concept identifier that visually indicates a class as a domain concept or not. We minimized the size of training sets to ensure a useful approach in practice. This allowed us to determine that a training set of 7:5 to 10% is nearly as effective as a training set representing 50% of the system. We showed that random selection is the most consistent and effective means of selecting a training set. We found that KNN is the most consistent performer among the learning algorithms tested. We determined the optimal feature set for this classification problem. We discussed two possible structures besides a one to one mapping of domain knowledge to implementation. We showed that classes representing more than one concept are simply concepts at differing levels of abstraction. We also discussed composite concepts representing a domain concept implemented by more than one class. We showed that these composite concepts are difficult to detect because the problem is NP-complete.
ContributorsCarey, Maurice (Author) / Colbourn, Charles (Thesis advisor) / Collofello, James (Thesis advisor) / Davulcu, Hasan (Committee member) / Sarjoughian, Hessam S. (Committee member) / Ye, Jieping (Committee member) / Arizona State University (Publisher)
Created2013