Incorporating Dynamic Time Warping (DTW) in the SeqRec.m File Presented by: Clay McCreary, MSEE.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Lecture 19: Parallel Algorithms
Learning Trajectory Patterns by Clustering: Comparative Evaluation Group D.
CYK Parser Von Carla und Cornelia Kempa. Overview Top-downBottom-up Non-directional methods Unger ParserCYK Parser.
Alignment methods Introduction to global and local sequence alignment methods Global : Needleman-Wunch Local : Smith-Waterman Database Search BLAST FASTA.
Inexact Matching of Strings General Problem –Input Strings S and T –Questions How distant is S from T? How similar is S to T? Solution Technique –Dynamic.
Sorting Chapter Sorting Consider list x 1, x 2, x 3, … x n We seek to arrange the elements of the list in order –Ascending or descending Some O(n.
Alignment methods and database searching April 14, 2005 Quiz#1 today Learning objectives- Finish Dotter Program analysis. Understand how to use the program.
Sequence Alignment Bioinformatics. Sequence Comparison Problem: Given two sequences S & T, are S and T similar? Need to establish some notion of similarity.
Deterministic Length Reduction: Fast Convolution in Sparse Data and Applications Written by: Amihood Amir, Oren Kapah and Ely Porat.
Lecture 9 Hidden Markov Models BioE 480 Sept 21, 2004.
Alignment methods June 26, 2007 Learning objectives- Understand how Global alignment program works. Understand how Local alignment program works.
Using Relevance Feedback in Multimedia Databases
Chapter 9 Introduction to Arrays
Dynamic Time Warping Applications and Derivation
Alignment methods II April 24, 2007 Learning objectives- 1) Understand how Global alignment program works using the longest common subsequence method.
Sequence comparison: Local alignment
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Sequence Alignment.
Isolated-Word Speech Recognition Using Hidden Markov Models
1 7-Speech Recognition (Cont’d) HMM Calculating Approaches Neural Components Three Basic HMM Problems Viterbi Algorithm State Duration Modeling Training.
So far: Historical introduction Mathematical background (e.g., pattern classification, acoustics) Feature extraction for speech recognition (and some neural.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
Chapter 3: The Fundamentals: Algorithms, the Integers, and Matrices
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved ADT Implementation:
7-Speech Recognition Speech Recognition Concepts
1 Functions 1 Parameter, 1 Return-Value 1. The problem 2. Recall the layout 3. Create the definition 4. "Flow" of data 5. Testing 6. Projects 1 and 2.
Dynamic Time Warping Algorithm for Gene Expression Time Series
1 Performing Spreadsheet What-If Analysis Applications of Spreadsheets.
Implementing a Speech Recognition System on a GPU using CUDA
Alignment methods April 26, 2011 Return Quiz 1 today Return homework #4 today. Next homework due Tues, May 3 Learning objectives- Understand the Smith-Waterman.
Dynamic Programming Chapter 15 Highlights Charles Tappert Seidenberg School of CSIS, Pace University.
Sequence Analysis CSC 487/687 Introduction to computing for Bioinformatics.
Scoring Matrices April 23, 2009 Learning objectives- 1) Last word on Global Alignment 2) Understand how the Smith-Waterman algorithm can be applied to.
K. Selçuk Candan, Maria Luisa Sapino Xiaolan Wang, Rosaria Rossini
Chapter 5: Speech Recognition An example of a speech recognition system Speech recognition techniques Ch5., v.5b1.
Chapter 12 B+ Trees CS 157B Spring 2003 By: Miriam Sy.
Chapter 9 DTW and VQ Algorithm  9.1 Basic idea of DTW  9.2 DTW algorithm  9.3 Basic idea of VQ  9.4 LBG algorithm  9.5 Improvement of VQ.
Chapter 11 Hash Tables © John Urrutia 2014, All Rights Reserved1.
Covenant College November 27, Laura Broussard, Ph.D. Professor COS 131: Computing for Engineers Chapter 5: Functions.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
CE Operating Systems Lecture 17 File systems – interface and implementation.
Ch 5b: Discriminative Training (temporal model) Ilkka Aho.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
1 Channel Coding (III) Channel Decoding. ECED of 15 Topics today u Viterbi decoding –trellis diagram –surviving path –ending the decoding u Soft.
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Fall 2008Simple Parallel Algorithms1. Fall 2008Simple Parallel Algorithms2 Scalar Product of Two Vectors Let a = (a 1, a 2, …, a n ); b = (b 1, b 2, …,
September 28, 2000 Improved Simultaneous Data Reconciliation, Bias Detection and Identification Using Mixed Integer Optimization Methods Presented by:
1. Searching The basic characteristics of any searching algorithm is that searching should be efficient, it should have less number of computations involved.
1 Dynamic Time Warping and Minimum Distance Paths for Speech Recognition Isolated word recognition: Task : Want to build an isolated ‘word’ recogniser.
DYNAMIC TIME WARPING IN KEY WORD SPOTTING. OUTLINE KWS and role of DTW in it. Brief outline of DTW What is training and why is it needed? DTW training.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Phone-Level Pronunciation Scoring and Assessment for Interactive Language Learning Speech Communication, 2000 Authors: S. M. Witt, S. J. Young Presenter:
Author :K. Thambiratnam and S. Sridharan DYNAMIC MATCH PHONE-LATTICE SEARCHES FOR VERY FAST AND ACCURATE UNRESTRICTED VOCABULARY KEYWORD SPOTTING Reporter.
Discriminative n-gram language modeling Brian Roark, Murat Saraclar, Michael Collins Presented by Patty Liu.
Chapter 9 Introduction to Arrays Fundamentals of Java.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
Applying Deep Neural Network to Enhance EMPI Searching
Graphs Representation, BFS, DFS
Accelerometer-Based Character Recognition Pen
Supervised Time Series Pattern Discovery through Local Importance
Sequence comparison: Local alignment
Lecture 22: Parallel Algorithms
Parallelizing Dynamic Time Warping
Graphs Representation, BFS, DFS
Dynamic Time Warping and training methods
Accelerometer-Based Character Recognition Pen
Measuring the Similarity of Rhythmic Patterns
Introduction to Computer Programming IT-104
Auditory Morphing Weyni Clacken
Presentation transcript:

Incorporating Dynamic Time Warping (DTW) in the SeqRec.m File Presented by: Clay McCreary, MSEE

Agenda Project Scope DTW Basics Algorithm Implementation Observations Conclusion Continuing Research

Project Scope Modify SeqRec.m to incorporate the DTW algorithm Test the implemented DTW algorithm using a small, manually created dictionary containing words of varying lengths Determine if the addition of the DTW algorithm provided improvement to the recognition capability of SeqReq.m

DTW Basics DTW provides a method of comparing two vectors of different lengths –If the vectors are of the same length, the correlation function provides adequate comparison DTW compares the measured vector to a template vector and provides a “likeness score” –This process is repeated for multiple templates –The template with the lowest “likeness score” is the template that most closely matches the measured vector

DTW Basics (cont) This method is especially useful when the measured vector must be one of the templates –Uttered speech compared to words in a language dictionary for example DTW will compensate for “slurred” words/sounds

DTW Basics (cont.) The comparison is accomplished by organizing the measured and the template data into a matrix The cells of the matrix are filled with the likelihood of column values matching the row value –Each cell contains the “Local” distance (maximum likelihood) d r o w wworrd

DTW Basics (cont.) The global distance is the addition of all of the local distances encountered on a “path” from the lower left cell to the upper right cell –The path cannot move down or to the left Multiple paths are available The DTW algorithm searches for the path with the lowest global distance This global distance is the “Likeness Score”

DTW Basics (cont.) The following DTW path has a global score of 15 –This is the lowest possible path –This path is accomplished in 6 steps d r o w wworrd

DTW Basics (cont.) The global distance must be normalized to allow comparison of the measured vector to templates of various lengths –This is accomplished by dividing the global score by the number of steps used on the path –The previous example would have a normalized likeness score of 2.5

Algorithm Implementation Current operation –SeqRec.m compares each sound passed to the script (a vector of sounds assigned at the input) to each sound in a list of 14 (vowels) –The likelihood of each of the input sounds matching each of the sounds in the list is determined –From these likelihoods, a list of recognized sounds is generated

Algorithm Implementation (cont.) –Each sound is compared to the input sound –If any do not match, the recognized sound sequence is declared in error

Algorithm Implementation (cont.) DTW implementation –The calculations of the likelihoods of each input sound to be each of the 14 sounds from the list is placed in a matrix, probmatrix –A matrix of the local distances for the template vs. measured vector matrix, dtwmatrix, is created using values stored in probmatrix This matrix is upside down compared to the example when visualized

Algorithm Implementation (cont.) –costmatrix1 is created to determine the lowest global distance –A cell is filled by adding the local distance for that cell obtained from dtwmatrix to the lowest value from previous adjacent cells (left, down, or left, down diagonal), which were filled in the same manner This results in the value in the cell being the shortest global distance to that cell –Starting from index (1,1), the top row and left column are filled Avoids ‘0’ index which is illegal in MATLAB –Then, the remaining cells are filled

Algorithm Implementation (cont.) –This results in the shortest global distance being recorded in the bottom, right cell –Then, the path is determined by moving to the lowest previous, adjacent cell repeatedly until reaching the (1,1) index counting the number of steps –The shortest global distance is then divided by the number of steps to normalize

Algorithm Implementation (cont.) –This process is repeated for all templates of each word length in the dictionary storing the global distances in 2 vectors dtwvector contains all the global distances for each length –The minimum determines the best global distance for that length dtwwordlength contains the best global distances of each length –The minimum determine the best global distance

Algorithm Implementation (cont.) The dictionary created to test this algorithm consisted of all permutations of: –1 2 3 – – This limited dictionary restricted testing the full capability of the DTW algorithm

Observations The previous SeqRec function typically had a high error rate (>50%) DTW used these erroneous words for comparison to the templates –Even with the DTW algorithm using these erroneous words, the error rate was improved to <10%, typically

Observations (cont.) Before normalization, erroneous DTW words were usually the same length as the correct word After normalization, erroneous DTW words were of various lengths

Conclusions By comparing the sequence of input sounds to templates of the whole sequence rather than to each part of the sequence, the DTW algorithm improves recognition by ~5X –DTW allows some error, where as the previous SeqRec function required that the recognized word be perfect

Continuing Research The basic DTW algorithm was implemented in the SeqRec function, but the limited dictionary using words without repeated sounds only allowed the function of the DTW algorithm to be tested, not the full capability

Continuing Research (cont.) Thus, the algorithm should be tested using larger dictionaries containing words in which sounds are used multiple times in the same word –The code was written in a general format to allow the easy incorporation of new dictionaries