{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "

# Diagonal Matching

\n", "
\n", "\n", "
\n", "\n", "

\n", "Following Section 7.2.2 of [Müller, FMP, Springer 2015], we discuss in this notebook a simple diagonal matching strategy for comparing a short sequence with subsequences of a longer sequence. This procedure has been used for audio matching in the following article.\n", "

\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Matching Function\n", "\n", "The following subsequence matching technique is motivated by the task of [**audio matching**](../C7/C7S2_AudioMatching.html), which was introduced in the [FMP notbook on content-based audio retrieval](../C7/C7_ContentBasedAudioRetrieval.html). Recall that the goal of audio matching is to retrieve all audio excerpts that musically correspond to a short query audio clip. From an abstract point of view, let $X=(x_1,x_2,\\ldots,x_N)$ and $Y=(y_1,y_2,\\ldots,y_M)$ be two feature sequences, representing a query $\\mathcal{Q}$ and a document $\\mathcal{D}$, respectively. The length $N$ of the query is typically short in comparison with the length $M$ of the database document. To see if and where the query $\\mathcal{Q}$ is somehow \"contained\" in $\\mathcal{D}$, we shift the sequence $X$ over the sequence $Y$ and locally compare $X$ with suitable subsequences of $Y$. Every subsequence of $Y$ that is similar or, equivalently, has a small distance to $X$ is considered a **match** for the query. \n", "\n", "There are many ways for locally comparing $X$ with subsequences of $Y$. We now introduce a simple procedure, which is referred to as **diagonal matching**. First of all, we need to fix a local cost measure (or local distance measure) to compare the chroma vectors of the sequences $X$ and $Y$. In the following, we assume that all features are normalized with regard to the [**Euclidean norm**](../C3/C3S1_FeatureNormalization.html) and then use the distance measure $c$ based on the **inner product** (or **dot product**):\n", "\n", "\$$\n", "c(x,y) = 1- \\langle x,y\\rangle = 1 - \\sum_{k=1}^K x(k)y(k)\n", "\$$\n", "\n", "for two $K$-dimensional vectors $x\\in\\mathbb{R}^K$ and $y\\in\\mathbb{R}^K$ with $\\|x\\|_2=\\|y\\|_2=1$. Furthermore, assuming that all feature vectors have **non-negative entries**, we have $c(x,y)\\in[0,1]$ with $c(x,y)=0$ if and only if $x=y$. One simple way for comparing two feature sequences that share\n", "the same length is to compute the average distance between corresponding vectors of the two sequences. Doing so, we compare the query sequence $X=(x_1,\\ldots,x_N)$ with all subsequences $(y_{1+m},\\ldots,y_{N+m})$ of $Y$ having the same length $N$ as the query, where $m\\in[0:M-N]$ denotes the shift index. This procedure yields a **matching function** $\\Delta_\\mathrm{Diag}:[0:M-N]\\to\\mathbb{R}$ defined by \n", "\n", "\$$\n", " \\Delta_\\mathrm{Diag}(m) := \\frac{1}{N}\\sum_{n=1}^{N} c(x_n,y_{n+m}).\n", "\$$\n", "\n", "We now slightly reformulate the way this matching function is computed. Let $\\mathbf{C}\\in\\mathbb{R}^{N\\times M}$ be \n", "the **cost matrix** given by\n", "\n", "\$$\n", "\\mathbf{C}(n,m):=c(x_n,y_m)\n", "\$$\n", "\n", "for $n\\in[1:N]$ and $m\\in[1:M]$. Then the value $\\Delta_\\mathrm{Diag}(m)$ is obtained (up to the normalization by the query length) by summing up diagonals of the matrix $\\mathbf{C}$ as illustrated by the next figure. This explains why this procedure is denoted as \"diagonal\" matching.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementation\n", "\n", "In the following code cell, we implement the diagonal matching procedure and apply it, as a simple example, to synthetically generated sequences $X$ and $Y$. In the subsequent example, the sequence $Y$ contains five subsequences that are similar to $X$ (starting at positions $m=20$, $40$, $60$, $80$, $100$, respectively):\n", "\n", "* The first occurrence starting at $m=20$ is an exact copy of $X$.\n", "* The occurrences at $m=40$ and $m=60$ are noisy versions of $X$. \n", "* The occurrence at $m=80$ is a stretched (slower) version of $X$.\n", "* The occurrence at $m=100$ is a compressed (faster) version of $X$.\n", "\n", "As can be seen in the following figure, the matching function $\\Delta_\\mathrm{Diag}$ reveals local minima at the expected positions. While the first minimum at $m=20$ is zero, the next two minima at $m=40$ and $m=60$ are still pronounced (with a matching value being close to zero). However, due to the stretching and compression, the diagonal matching procedure is not capable of capturing well the last two subsequences at $m=80$ and $m=100$." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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DCO/kMTKlSuLuhvGXmDt2rUYO3Ys7rnnHpx55pno0aMH/v7775h6I0eOxNixYzF48GD85z//QeCL1ijukEz5f82aNePu8tprr7FKlSqsXr06X3rpJU6aNIn/+9//OHjwYALgk08+6dXfsWMH99tvP3bo0IEnnHACAfD000/nCy+8wFq1arFcuXLs2LEjRYQbNmzwjp0xYwYB8M033+SoUaMIgP/97393u+8kGYlEOHDgQAJgly5d2KxZMwJgrVq1eP/993t1J0yYQJL85ZdfiGgMMFavXp29e/fm22+/za1bt+5RX1588UUC4EEHHUQATEtLY/fu3blu3bo8jz300EPDvj/11FN71I89JWecjMSk2jgNHz6cL7/88h63c9999xEAZ86cWQC9Sr1xSlX29jg98cQTTEtLC+eqnPln4MCBXr0tW7Zw3333ZceOHRmJRPZqH3MjFe4nALOYAr/9e/qvyDuQzL94C5yffvqJN9xwA//++++YskgkwiuvvJIA2KlTJy5fvjymTteuXVm3bl3+9ddf4WfDhg0jAH722WfMzs7mk08+yXLlyhEA27VrxwULFoQLmTfeeMNr77HHHiMArlmzhpFIhN27d2fFihW5dOnSXPufF9nZ2bzmmmsIgBdffDEzMzMZiUT4xRdfsEOHDgTgffecB2PevHkEwGuvvZZ9+/Zl7dq1CYAVK1bkeeedxzFjxnD79u356suOHTu4//77s02bNoxEIpw3bx7vvPNOpqen89Zbb0147IYNGwiADz74II844gh26tQp32NRkKTCBFIcSKVxikQi3GeffZiens7Jkyfvdjtjx44NF/933HFHgfQtlcYpldlb45SVlcXrrruOAHjWWWdx2rRp4R93559/PsuWLcuFCxeG9e+++24C4PTp0/dK//IiFe4nW+CkwALn+uuvJwCOHDkypmz8+PEEwOuuu46ZmZm5Hv/VV18RAAcPHkySzMzMZOPGjdm6dWtvJb9gwQKOGjUqbCcrK4s1atTgpZde6rXXo0cPNm7cOMyvWLGCVapUYfPmzfnmm28yKysrLFu5ciVvuOEGHnnkkVyxYkWu/bv00ksJgDfddFPMXxZPPfUUAXDjxo3hZzkPxrRp0wiAn3zySdjfCRMm8KqrrgoXO507d87XXytPPvkkAfDzzz/3Pj/rrLNYu3Zt7tixI+6x7733HgFwypQp4V/Pq1atSvrcBU0qTCDFgVQap+XLl4d/idevXz9m9zQZFixYwCpVqrBVq1bs0KEDW7RoUSB9S6VxSmX2xjht3bqVZ555JgFwwIAB3pxLkr/++iurV6/OLl26MDs7m6tXr2aFChV43nnnFXrfkiUV7idb4BTxAicSibBx48YEwIMPPpjZ2dleebdu3Vi3bt08dyqOP/547rvvvty2bRtff/11AuC7776b8BiSPPfcc9mgQYNwkZCdnc1atWqxb9++Xr2PP/6YTZs2JQA2adKETz/9NC+++GJmZGQwPT2dIpLrX5ILFy4MH9LcyHld5O4O5TwYn3zyCQFw2rRpMcdlZmby/vvvJwBOmjQppnzq1Kk88MAD+frrr4efbd68mXXq1OHxxx8fU/+zzz4jAL766qu59pMkb7jhBpYrV447duzgokWLcn01uDdJhQmkOJBK4/TmsE2eaQAAIABJREFUm28SAIcNG8ayZcvy1FNPjXnmE7Fp0yY2bdqUderU4YoVK/joo48SQNw/LvJDKo1TKlOY47R161YOGzaMzZs3Z1paGp955pm4dYcPH04AHDFiBPv27cuyZcvu9i57YZAK95MtcIp4gZPzQ9m1a1cC4JgxY8KymTNnEgAffvjh2CunmDx5MgHw0UcfZYsWLdi8efOkJs6ch2TBggUko38dAuALL7wQUzcrK4tvv/02W7duTQCsUKECr732Wi5btoxnnHEG69aty507d3rH9O/fn2XKlOGvv/6a6/nfffddAuB3330XfpbzYLz11lsEwHnz5uV67LZt21izZk2effbZ3ueRSITHHHNMuIV/2223MSsri//5z38IgDNmzIhpKzs7m02aNEn42qlNmzY89thjw/yRRx7Jjh07xq1f2BTmBBKJRPj555/zpJNO4vPPP19o59kbpMJEm8ONN97IcuXKcefOnXz66acJgI888khSx2ZnZ/O0005jRkYGv/rqK5K75o8hQ4bscd9SaZw02dnZHDp0aFI6ucJmd8dp+fLl3LJlS65lixcv5nXXXceqVasSAFu0aMFx48YlbC87O5udO3dm1apVKSK86aabdqtfhUUq3E+2wCniBU6O3uXnn3/mQQcdxHbt2oW7KT179mT16tX5559/5n71FN26dWPZsmUJgKNGjUrqmJwt8yeeeIIkOXToUALgjz/+GPeYSCTCOXPm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XxDjlEMkEuEnn3zCdu3aMT09nbfddpu3Y5WIHP9Np556arirkNsu1Pvvvx/jjuCyyy5jrVq1ktq1WrJkCQ877LBwTB966KGE9c855xzWq1dvj3bE9tYP0rRp01ihQgW2atWKixYtYq1atdiqVatc77/ffvuNFSpU4GWXXRbmq1atyn/84x9x28+xvgSivsPeeOON3V7I5oYepylTphAAb7/9dpLk0qVLud9++7Fu3bqsVq0aO3ToUKDnLy7YAqeULXDq169PABw+fDizsrJYu3ZtXnDBBTEXZdSoUaHod2+R87qhSpUqcf3tJMMHH3wQTi6XXHJJnvUjkQjT09M9jUfOg3HuueeyefPmSZ13zJgxBMDGjRvv8WTywQcfMD09nU2bNuXcuXM5adIkAuD777+fa/2tW7fy+OOPp4jEFXdv27aN//73v9m8efOEAu78kDNOOZZvZ511Fu+66y7ec8897NOnD8uUKcO0tDT27NmTV1xxBStVqkQAbNmyJW+55Ra+8MILnDx5sueDKB4//fQT09PTefrpp7NixYrs3LmzN85///03H3roIT722GP5cr74ySefsEaNGqxevTqvueYaPvbYY3znnXc4a9asmNeBkUiECxcu5Isvvshhw4ZxzJgxnDRpEpcsWZLwh92daL/66it26tQp1Kqdc845BMCmTZt6QndNZmYmhwwZwkMOOYQAWLt2bT700ENxz7tt2zZWqFDB24U9/PDD8yUG3rx5My+88EJecMEFee7I5ey+xvvjZOHChezYsSO//PLLuG3sjR+k+fPns0aNGmzSpEn4+j1nMXjzzTfH1M/ZIXV3bHJeXc+ZMyem/p9//smGDRuyefPmfPzxx8M/2ho2bFhgJtTuOGVlZfGoo45igwYNvJ3IefPmsWbNmqxatWpKmW7vTWyBk8ILHADdAfwIYAmA23Ip7w1gbvBvGoAj82qzWbNmbN++Pffff39OnDgxRntSlORYBJ100kl71E5mZib322+/uObYuVGjRg3vhyDnwTj55JPZrl27pNrIysri+eefn6dpZbJMmjSJ9erVY8WKFdmtWzcCSLgQ2LZtG7t1+//27j0+qvJc9PjvyYSEQC5ECEzAEIiAKBAVPbRxt1su4qGgolRbiFasILUFFa1HRbxgab3VehR0QzlAUQTUqkehiqCIl4oX2NItEJSNooBiMCBg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\n", "text/plain": [ "