Portfolio



Emotion Detection ToolEmotion Detection Tool (EDT)

When: 1 Aug. 2009 - 30 Nov. 2009
Tech: Java
Description: EDT as the thesis project was developed in order to investigate theoretical and practical approach using Hidden Markov Model (HMM) to detect emotion from written information in English. Since HMM is a probabilistic model, the EDT examined the nature of HMM and applied it to implement emotion detection. Two different approaches of word-based and Part-Of-Speech (POS)-based detection algorithms were implemented into the EDT. Written texts from various sources including movie scripts, novels, news articles etc. were manually tagged into predefined emotion categories including angry, happy, sad and neutral. Hence, implemented Emotion Detection Tool (EDT) software accepts natural language, the textual sentence, and outputs a detected emotion from the given sentence.


Control Flow GraphControl Flow Graph (CFG)

When: 2 Feb. 2009 - 18 Mar. 2009
Tech: Java
Description: Since Control Flow Graph is a representation of all paths that might be traversed through a program during its execution, it was implemented as a project in the Software Engineering course. CFG accepts C++ or Java codes as an input and outputs graph notation. However, this project was implemented with some restrictions. Hence, the generated graph notation such as nodes and arcs are represented as literal numbers and pairs of node numbers, and CFG generation only supports: if, if else, do while, while, for, break, continue, and return clauses.


Template MatchingTemplate Matching

When: 27 Feb. 2009 - 22 Mar. 2009
Tech: Java
Description: Template matching, the basic step of object detection, was implemented in the Computer Vision course. Background and template images are preprocessed after being accepted as input data. After filtering and smoothing, edge detection is performed to get the outline of the object. The detected edge image is converted into the binary image and then, each of the 16 regions is labeled. In the matching process, two images are superimposed and the correlation between corresponding pixels is computed for different alignments. Therefore, the matching score is stored based on the correlation result, and retrieved for finding matching objects from the image. Moreover, the number of zero and non-zero of the template image are calculated as criteria to be compared with matching score.


Intermediate Computer Vision Intermediate Computer Vision

When: 4 Feb. 2009 - 26 Feb. 2009
Tech: Java
Description: This project comprises five distinct problem solvings for intermediate image processing. The first solution is for removing noise and detecting edges. Median filter with 3x3 filtering mask was used for noise elimination and the Sobel operator was applied for the edge detection. Based on the first solution, Hough transformation was performed for line detection to solve the second problem. Blob Coloring was performed to show that an image is segmented into as number of regions using thresholding. With this, each of the connected components in the image can be identified. For the solution of the fifth problem, the line image was produced based on Hough transformation with various threshold values. Finally, motion detection was implemented based on the pixel subration operator.


Image ProcessingImage Processing

When: 23 Jan. 2009 - 3 Feb. 2009
Tech: Java
Description: As a preliminary learning of Computer Vision, fundamental image processing techniques were implemented. Manipulating pixels and resolutions of an image was tested, and then topographic representation was implemented based on the concept of Poorman¡¯s 3-D in order to check removing hidden surface. The image was converted into the binary image with determining a proper threshold value. Moreover, filtering, smoothing, edge detection and thinning which are fundamental image processing techniques were applied for an image. Finally, vertical and horizontal image projection was displayed.


String Matching and AlignmentString Matching and Alignment

When: 24 Oct. 2008 - 13 Nev. 2008
Tech: Java
Description: Various string matching and alignment algorithms were implemented in order to efficiently handle DNA and protein sequences in Bioinformatics. The Hamming Distance algorithm displays the matching position and the result of mismatching. Levenschtein Distance measures the amount of difference between two sequences. Similarity of two strings is illustrated by Dot Plot placing at the intersection of every row and column that have the same symbol in both sequences. A global alignment on two sequences was implelemted by the Needleman Wunsch algorithm, and the FASTA was demonstrated to show a DNA and protein sequence alignment.


Manipulating DNA sequenceeManipulating DNA sequence

When: 6 Oct. 2008 - 23 Oct. 2008
Tech: Perl
Description: DNA, a huge amout of data, was manipulated by a script language, Perl. After displaying DNA sequence, complementary DNA sequence and mRNA sequence were converted based on the original DNA. Next, implementation found the TATA box in the DNA sequence and marked its position. Translation to armino acid sequnce from DNA was implemented after finding TATA box, and the relative frequency of A, C, G, T of DNA and transition matrix was calculated. Based on these probabilistic information, A DNA sequence was produced as a simulation of DNA construction.