<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Artif. Intell.</journal-id>
<journal-title>Frontiers in Artificial Intelligence</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Artif. Intell.</abbrev-journal-title>
<issn pub-type="epub">2624-8212</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">761123</article-id>
<article-id pub-id-type="doi">10.3389/frai.2021.761123</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Artificial Intelligence</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Monitoring Weeder Robots and Anticipating Their Functioning by Using Advanced Topological Data Analysis</article-title>
<alt-title alt-title-type="left-running-head">Frahi&#x2009; et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Monitoring Weeder Robots by TDA</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Frahi&#x2009;</surname>
<given-names>Tarek</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1448467/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Sancarlos&#x2009;</surname>
<given-names>Abel</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Galle&#x2009;</surname>
<given-names>Mathieu</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1514327/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Beaulieu</surname>
<given-names>Xavier</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Chambard</surname>
<given-names>Anne</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Falco</surname>
<given-names>Antonio</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/167696/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Cueto</surname>
<given-names>Elias</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/114316/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Chinesta</surname>
<given-names>Francisco</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1240624/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>PIMM Lab and ESI Group Chair, Arts et Metiers Institute of Technology, <addr-line>Paris</addr-line>, <country>France</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>ESI Group, <addr-line>Rungis</addr-line>, <country>France</country>
</aff>
<aff id="aff3">
<label>
<sup>3</sup>
</label>VITIROVER, <addr-line>Saint-Emilion</addr-line>, <country>France</country>
</aff>
<aff id="aff4">
<label>
<sup>4</sup>
</label>ESI-CEU International Chair CEU-UCH, Departamento de Matematicas, Fisica y Ciencias Tecnologicas, Universidad Cardenal Herrera-CEU, <addr-line>Valencia</addr-line>, <country>Spain</country>
</aff>
<aff id="aff5">
<label>
<sup>5</sup>
</label>Aragon Institute of Engineering Research, Universidad de Zaragoza, <addr-line>Zaragoza</addr-line>, <country>Spain</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/797860/overview">Pankush Kalgotra</ext-link>, Auburn University, United&#x20;States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1286734/overview">Jabbar Ma</ext-link>, Vardhaman College of Engineering, India</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1500704/overview">Takhellambam Bijoychandra Singh</ext-link>, Auburn University, United&#x20;States</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Francisco Chinesta, <email>Francisco.Chinesta@ensam.eu</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to AI in Business, a section of the journal Frontiers in Artificial Intelligence</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>13</day>
<month>12</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>4</volume>
<elocation-id>761123</elocation-id>
<history>
<date date-type="received">
<day>19</day>
<month>08</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>11</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Frahi&#x2009;, Sancarlos&#x2009;, Galle&#x2009;, Beaulieu, Chambard, Falco, Cueto and Chinesta.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Frahi&#x2009;, Sancarlos&#x2009;, Galle&#x2009;, Beaulieu, Chambard, Falco, Cueto and Chinesta</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>The present paper aims at analyzing the topological content of the complex trajectories that weeder-autonomous robots follow in operation. We will prove that the topological descriptors of these trajectories are affected by the robot environment as well as by the robot state, with respect to maintenance operations. Most of existing methodologies enabling efficient diagnosis are based on the data analysis, and in particular on some statistical quantities derived from the data. The present work explores the use of an original approach that instead of analyzing quantities derived from the data, analyzes the &#x201c;shape&#x201d; of the data, that is, the time series topology based on the homology persistence. We will prove that this procedure is able to extract valuable patterns able to discriminate the trajectories that the robot follows depending on the particular patch in which it operates, as well as to differentiate the robot behavior before and after undergoing a maintenance operation. Even if it is a preliminary work, and it does not pretend to compare its performances with respect to other existing technologies, this work opens new perspectives in considering quite natural and simple descriptors based on the intrinsic information that data contains, with the aim of performing efficient diagnosis and prognosis.</p>
</abstract>
<kwd-group>
<kwd>autonomous robots</kwd>
<kwd>monitoring</kwd>
<kwd>topological data analysis</kwd>
<kwd>trajectory analysis</kwd>
<kwd>artificial intelligence</kwd>
<kwd>data classification</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>Autonomous robots follow a number of rules introduced into their controllers (<xref ref-type="bibr" rid="B2">Alatise and Hancke, 2020</xref>; <xref ref-type="bibr" rid="B26">Shalal et&#x20;al., 2013</xref>; <xref ref-type="bibr" rid="B21">Mohanty and Parhi, 2013</xref>). However, when they interact with the environment, small variations may result in long-time unpredictable motion. This behaviour is very usual in mechanics, characterizing systems exhibiting deterministic chaos (<xref ref-type="bibr" rid="B3">Avan&#xe7;o et&#x20;al., 2016</xref>; <xref ref-type="bibr" rid="B12">Gupta et&#x20;al., 2014</xref>).</p>
<p>In the practical case addressed in the present paper, a weeder robot (usually a float of them) is expected to cover a patch of a vineyard, in an optimal manner. Here, &#x201c;optimal manner&#x201d; refers to the path-line that allows covering the whole patch in a minimum time. However, the ground orography has a significant variability, as well as the location of the grapes. Robots are aimed at colliding the grape foots in order to remove the grass around, and then numerous collisions following different directions are needed to ensure that all the grass around the grape foot is adequately removed. <xref ref-type="fig" rid="F1">Figure&#x20;1</xref> depicts a VITIROVER MOWER ROBOT (<ext-link ext-link-type="uri" xlink:href="https://www.vitirover.fr/en-robot">https://www.vitirover.fr/en-robot</ext-link> for the technical specifications) considered in the present study under operational conditions.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Weeder robot from VITIROVER micro robotique viticole.</p>
</caption>
<graphic xlink:href="frai-04-761123-g001.tif"/>
</fig>
<p>The environmental variability (ground, grape location, grass distribution and size, and fixed and mobile obstacles) as well the intrinsic sensibility of the dynamics to small perturbations in the physical and operational conditions, provides an uncertain environment that makes useless the use of a deterministic framework for anticipating the robot trajectory. Thus, a random motion framework seems to be the most useful alternative.</p>
<p>In practice, to avoid under-performances characteristic of fully random motion, random motion operating at the local scale is combined with a more global deterministic planning that tries to better control the vineyard coverage by sequencing the operation at the different local patches covering the whole domain (<xref ref-type="bibr" rid="B15">Kavraki et&#x20;al., 1998</xref>).</p>
<p>The present work does not aim at addressing such optimized operation conditions that will be addressed in a future publication under progress, but it aims at analyzing the data collected from a robot operating in different patches and under different conditions (with respect to the maintenance operations) in order to identify the existence of patterns able to identify the particular patch in which the robot operates, or to distinguish the different robot states with respect to the maintenance operations.</p>
<p>Having a sort of QR-code or identity card of each robot, when it operates within each patch, in a particular state (healthy or unhealthy), is of major relevance with respect to the predictive or operational maintenance of robots or floats of autonomous robots (<xref ref-type="bibr" rid="B15">Kavraki et&#x20;al., 1998</xref>).</p>
<p>Most of existing methodologies enabling efficient diagnosis are based on the data analysis, and in particular on some statistical quantities derived from the data (<xref ref-type="bibr" rid="B17">Lhermitte et&#x20;al., 2011</xref>) while the present paper aims at extracting information to be transformed into knowledge, from the data collected from each weeder robot, in particular the positions visited by the robot during its operation, and more concretely the topology contained in this data. Our goal is to extract the maximum information that could serve for differentiating them, enabling unsupervised clustering and/or supervised classification, prior to any action concerning diagnosis or modeling based on the use of adapted regressions. This first work aims at introducing a new methodology and does not pretend to compare its performances with respect to other existing technologies, comparison that will be addressed in a future&#x20;work.</p>
</sec>
<sec id="s2">
<title>2 Methods</title>
<p>Using data clustering is almost straightforward, as soon as data is homogeneous and quantitatively expressible using integer or real numbers, enabling boolean or algebraic operations (addition, multiplication, &#x2026; ). The interest of organizing data in groups, in a supervised or unsupervised manner, is that it is assumed that data belonging to a given group shares some qualities with the members of the group (<xref ref-type="bibr" rid="B13">Hastie et&#x20;al., 2009</xref>; <xref ref-type="bibr" rid="B23">Murphy, 2012</xref>).</p>
<p>When proceeding in an unsupervised manner, the only information to group the data consists of the distance among them. Data that remain close to each other are expected to share some properties or behavior. This is the rationale considered in the very popular <italic>k</italic>
<italic>-means</italic> technique (<xref ref-type="bibr" rid="B19">MacQueen, 1967</xref>; <xref ref-type="bibr" rid="B18">MacKay, 2003</xref>). However, the notion of proximity, leading to the derived concept of similarity, needs for the definition of a metric for comparison purposes. When data are well defined in a vector space, distances can be defined and data can be compared accordingly. In the case of supervised classification one is looking for the linear (or non-linear) Frontier separating the different groups on the basis of a quality or property that drives the data clustering. In this last case, the best Frontier separating two groups of data is the one maximizing the distance of the available data to the Frontier, in order to maximize the separation robustness. This is how support vector machine, SVM, works, for instance (<xref ref-type="bibr" rid="B5">Cristianini and Shawe-Taylor, 2000</xref>).</p>
<p>In both cases (supervised and unsupervised) the existence of a metric enabling data comparison is assumed. However, very often data could be much more complex, as for example when it concerns heterogeneous information, possibly categorial or qualitative. This is for example the case when a manufactured part is described by its identity card consisting of the name of the employee involved in the operation, the designation of the employed materials (some of them given by its commercial name), the temperature of the oven in which the part was cured and the processing time. In that case, comparing two parts becomes quite controversial if the employed metric is not properly defined. In these circumstances, usually, metrics are learned from the existing training data, as is the case when using decision trees (or its random forest counterpart) (<xref ref-type="bibr" rid="B16">Kirkwood, 2022</xref>; <xref ref-type="bibr" rid="B4">Breiman, 2001</xref>), code-to-vector <xref ref-type="bibr" rid="B20">Mart&#xed;n et&#x20;al. (2019)</xref> or neural networks <xref ref-type="bibr" rid="B11">Goodfellow et&#x20;al. (2016)</xref>.</p>
<p>The situation becomes even more extreme when data have a large and deep topology content. This is the case for example of time series or images of rich microstructures. These are usually encountered in material science when describing metamaterials (also called functional materials), or those exhibiting gradient of properties or mesoscopic architectures. Thus, even in nominal conditions, time series will differ if they are compared from their respective values at each time instant. That is, two time series, even when they describe the same system in similar conditions, never match perfectly. Thus, they differ even if they resemble in a certain metric that should be learned. For example, our electrocardiogram measured during two consecutive minutes will exhibit a resemblance, but certainly both of them are not identical, thus making a perfect match impossible. A small variation will create a misalignment needing for metrics less sensible to these effects. The same rationale applies when comparing two profiles of a rough surface, two images of a foam taken in two close locations, &#x2026; they exhibit a resemblance even if they do not perfectly&#x20;match.</p>
<p>Thus, techniques aiming at aligning data were proposed. In the case of time-series, Dynamic Time Warping, DTW (<xref ref-type="bibr" rid="B22">M&#xfc;ller, 2007</xref>; <xref ref-type="bibr" rid="B25">Senin, 2008</xref>) has been successfully applied in many domains. The theory of optimal transport arose as a response to similar issues (<xref ref-type="bibr" rid="B29">Villani, 2006</xref>).</p>
<p>Another route consists of renouncing to <italic>align</italic> the data, and focussing on extracting the adequate, goal-oriented descriptors of these complex data, enabling comparison, clustering, classification and modelling (from non-linear regressions) (<xref ref-type="bibr" rid="B17">Lhermitte et&#x20;al., 2011</xref>).</p>
<p>A first possibility consists of extracting the main statistical descriptors of time series or images (moments, correlations, covariograms, &#x2026; ) (<xref ref-type="bibr" rid="B27">Torquato, 2002</xref>). Sometimes, data expressed in the usual space and time domains, are transformed into other spaces where their manipulation is expected to be simpler, like Fourier, Laplace, DCT, Wavelet, &#x2026; descriptions of data. The most valuable (in the sense given later) descriptions seem to be those maximizing sparsity. These are widely considered when using compressed sensing (<xref ref-type="bibr" rid="B14">Iba&#xf1;ez et&#x20;al., 2019</xref>), because it represents a compact, concise and complete way of representing data that seemed much more complex in the usual physical space (space and time).</p>
<p>The present work considers this last route, but uses a description based on the topology of data, described later, and successfully considered in our former works for addressing complex mesostructures <xref ref-type="bibr" rid="B30">Yun et&#x20;al. (2020)</xref>, time-series <xref ref-type="bibr" rid="B9">Frahi et&#x20;al. (2021a)</xref>, rough surfaces <xref ref-type="bibr" rid="B8">Frahi et&#x20;al. (2020)</xref> and shapes <xref ref-type="bibr" rid="B10">Frahi et&#x20;al. (2021b)</xref>, with the aim of classifying and also constructing robust regressions expressing properties or performance from the input data expressed from its topological description.</p>
<p>The present study, when compared with our former developments, addresses a new and complex purpose: how the topology contained in the trajectory that an autonomous robot follows in a cloudy environment (where interactions limits the predictability horizon) can inform on the robot location (which patch into the whole vineyard) or the robot state (with respect to maintenance operations).</p>
<sec id="s2-1">
<title>2.1 Data Description</title>
<p>In the study that follows, we consider a dataset consisting of the <italic>x</italic> and <italic>y</italic>-coordinates, calculated from the GPS longitudes and latitudes, representing the recorded position of the robot at time <italic>t</italic>:<disp-formula id="equ1">
<mml:math id="m1">
<mml:mi mathvariant="script">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>These coordinates span six different disjoint geographical patches within the whole vineyard, as illustrated in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>, that have been recorded in a period of time <inline-formula id="inf1">
<mml:math id="m2">
<mml:mi mathvariant="script">T</mml:mi>
</mml:math>
</inline-formula> leading to the maps reported in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref> that reflects the robot&#x2019;s trajectory.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Location of the different patches.</p>
</caption>
<graphic xlink:href="frai-04-761123-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Robot trajectories in the six considered vineyard patches, from right to left and top to bottom: 1, 2, 3, 4, 5 and 6 (units in meters).</p>
</caption>
<graphic xlink:href="frai-04-761123-g003.tif"/>
</fig>
<p>Maintenance operations are also known and properly identified in the provided dataset. Thus, the dataset consists of a collection of <italic>n</italic> discrete, finite and compact two-dimensional trajectories <inline-formula id="inf2">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2-2">
<title>2.2 Geometrical Features</title>
<p>We are interested in extracting the geometrical and topological features of the trajectories in <inline-formula id="inf3">
<mml:math id="m4">
<mml:mi mathvariant="script">D</mml:mi>
</mml:math>
</inline-formula> across different scales. For that purpose, we introduce the so-called <italic>Rips filtration</italic>. We construct a <italic>Rips complex</italic> from simplexes of varying dimensions that are generalizations of triangles of varying dimensions. More specifically, a <italic>d</italic>-simplex is the smallest convex set of <italic>d</italic>&#x20;&#x2b; 1 points, <italic>x</italic>
<sub>0</sub>, &#x2026; , <italic>x</italic>
<sub>
<italic>d</italic>
</sub> where <italic>x</italic>
<sub>1</sub>&#x2212;<italic>x</italic>
<sub>0</sub>, &#x2026; , <italic>x</italic>
<sub>
<italic>d</italic>
</sub>&#x2212;<italic>x</italic>
<sub>0</sub> are linearly independent, as illustrated in <xref ref-type="fig" rid="F4">Figure&#x20;4</xref>. The so-called <italic>abstract simplicial complex</italic> is a finite collection of sets that is closed under the subset relation, i.e.,&#x20;if <italic>a</italic>&#x20;&#x2208; <italic>A</italic> and <italic>b</italic>&#x20;&#x2282; <italic>a</italic>, then <italic>b</italic>&#x20;&#x2208;&#x20;<italic>A</italic>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Simplexes of different dimensions.</p>
</caption>
<graphic xlink:href="frai-04-761123-g004.tif"/>
</fig>
<p>Let <inline-formula id="inf4">
<mml:math id="m5">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula> be a trajectory, defined from a finite compact set of points in <inline-formula id="inf5">
<mml:math id="m6">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, and <italic>&#x3f5;</italic> &#x2265; 0. The Rips complex of <inline-formula id="inf6">
<mml:math id="m7">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula> at scale <italic>&#x3f5;</italic>, <inline-formula id="inf7">
<mml:math id="m8">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, is the abstract simplicial complex consisting of all subsets of diameter up to <italic>&#x3f5;</italic>:<disp-formula id="equ2">
<mml:math id="m9">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2254;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
<mml:mo>&#x2282;</mml:mo>
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mtext>diam</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where the diameter of a set of points is the maximum distance between any two points in the&#x20;set.</p>
<p>Geometrically, we can construct the Rips complex by considering balls of radius <inline-formula id="inf8">
<mml:math id="m10">
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:math>
</inline-formula>, centred at each point in <inline-formula id="inf9">
<mml:math id="m11">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula>. Whenever <italic>d</italic> balls have pairwise intersections, we add a <italic>d</italic>&#x2212;1 dimensional simplex. An example of Rips complex is given in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Example of Rips complex computation: <bold>(A)</bold> <italic>&#x3f5;</italic> &#x3d; 0.5; <bold>(B)</bold> <italic>&#x3f5;</italic> &#x3d; 1; <bold>(C)</bold> <italic>&#x3f5;</italic> &#x3d; 1.4; and <bold>(D)</bold> <italic>&#x3f5;</italic> &#x3d; 2.3 (units in meters).</p>
</caption>
<graphic xlink:href="frai-04-761123-g005.tif"/>
</fig>
<p>A <italic>filtration</italic> of a simplicial complex <inline-formula id="inf10">
<mml:math id="m12">
<mml:mi mathvariant="script">K</mml:mi>
</mml:math>
</inline-formula> is a nested sequence of subcomplexes starting at the empty set and ending with the full simplicial complex<disp-formula id="equ3">
<mml:math id="m13">
<mml:mi>&#x2205;</mml:mi>
<mml:mo>&#x2282;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2282;</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>&#x2282;</mml:mo>
<mml:mi mathvariant="script">K</mml:mi>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>By varying the value of the scale parameter <italic>&#x3f5;</italic>, from <italic>&#x3f5;</italic>
<sub>min</sub> &#x3d; 0 to <inline-formula id="inf11">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>diam</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> we get a family of nested Rips complexes known as the Rips filtration.</p>
</sec>
<sec id="s2-3">
<title>2.3 Persistent Homology</title>
<p>In order to have a more exhaustive view on how the features are changing across different scales, the appearance and disappearance of each feature within the filtration is tracked and coded into the homology groups <inline-formula id="inf12">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, where <italic>k</italic> is the homology dimension. The elements of a <italic>Homology Group</italic> <inline-formula id="inf13">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> are classes of chain of simplexes (&#x201c;packets&#x201d;) in the Rips complex. The use of homology groups allows us to perform algebraic operations over the simplicial elements. The homology group <inline-formula id="inf14">
<mml:math id="m17">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> represents the vertices, while the homology group <inline-formula id="inf15">
<mml:math id="m18">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> represents the cycles (loops) formed in the simplicial complex. Since our data is in <inline-formula id="inf16">
<mml:math id="m19">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> we are only interested in <italic>k</italic>&#x20;&#x3d; 0 and <italic>k</italic>&#x20;&#x3d;&#x20;1.</p>
<p>Given a homology group, we can now define how to track the appearance of the features across different scales, by defining the homology group at a scale <italic>&#x3f5;</italic>, <inline-formula id="inf17">
<mml:math id="m20">
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. It represents the classes of simplexes as described previously, but taken from <inline-formula id="inf18">
<mml:math id="m21">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. That is, the elements of <inline-formula id="inf19">
<mml:math id="m22">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> with a filtration value lower than <italic>&#x3f5;</italic>. This approach is known as the <italic>persistent homology</italic>. It allows to quantify the appearance and disappearance of the features across the different scales (discretized by considering <italic>m</italic> values related to <italic>&#x3f5;</italic>
<sub>
<italic>j</italic>
</sub>, <italic>j</italic>&#x20;&#x3d; 0, &#x2026; ,&#x20;<italic>m</italic>):</p>
<p>&#x2022; For <inline-formula id="inf20">
<mml:math id="m23">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, the birth scale of all vertices is set to zero, while the death scale is the filtration value at which the vertex has been joined to another one by a segment.</p>
<p>&#x2022; For <inline-formula id="inf21">
<mml:math id="m24">
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, the birth scale of a cycle is the filtration value at which a loop has been formed, while the death scale is the filtration value at which the interior of the loop has been covered.</p>
<p>We can formalize this as follows:<list list-type="simple">
<list-item>
<p>&#x2022; The birth scale <italic>b</italic>
<sub>
<italic>&#x3b3;</italic>
</sub> of the feature <italic>&#x3b3;</italic>
</p>
</list-item>
</list>
<disp-formula id="equ4">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>
<list list-type="simple">
<list-item>
<p>&#x2022; The death scale <italic>d</italic>
<sub>
<italic>&#x3b3;</italic>
</sub> of the feature <italic>&#x3b3;</italic>
</p>
</list-item>
</list>
<disp-formula id="equ5">
<mml:math id="m26">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3f5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:math>
</disp-formula>
</p>
<p>The persistence of the features throughout the scales can then be represented by the so-called <italic>persistence barcode</italic> of <inline-formula id="inf22">
<mml:math id="m27">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula>. It is a histogram, where the bar associated to each feature starts at the birth scale and ends at the death&#x20;scale.</p>
<p>An example of persistent homology computation is given&#x20;with the rips complex in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref>, and the associated barcode in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. A loop is formed at <italic>&#x3f5;</italic> &#x3d; 0.9 (birth) and&#x20;then covered at <italic>&#x3f5;</italic> &#x3d; 1.8 (death). It is represented by the red&#x20;bar.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Example of Rips complex computation: <bold>(A)</bold> <italic>&#x3f5;</italic> &#x3d; 0; <bold>(B)</bold> <italic>&#x3f5;</italic> &#x3d; 0.5; <bold>(C)</bold> <italic>&#x3f5;</italic> &#x3d; 0.9; and <bold>(D)</bold> <italic>&#x3f5;</italic> &#x3d; 1.8 (units in meters).</p>
</caption>
<graphic xlink:href="frai-04-761123-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Persistence barcode: in black the <italic>H</italic>
<sub>0</sub> features, and in red the <italic>H</italic>
<sub>1</sub> feature. Filtration value (scale) is represented in the <italic>x</italic>-axis (units in meters).</p>
</caption>
<graphic xlink:href="frai-04-761123-g007.tif"/>
</fig>
<p>A more compact representation of the features persistence is the persistence diagram of <inline-formula id="inf23">
<mml:math id="m28">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula>, defined from<disp-formula id="equ6">
<mml:math id="m29">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>:</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <italic>b</italic>
<sub>
<italic>&#x3b3;</italic>
</sub> and <italic>d</italic>
<sub>
<italic>&#x3b3;</italic>
</sub> are the birth and death scales associated to the feature <italic>&#x3b3;</italic>. In what follows, in the trajectories analysis, we only consider one-dimensional features, i.e.,&#x20;<italic>k</italic>&#x20;&#x3d;&#x20;1.</p>
<p>The persistence diagram associated with the Rips complex shown in <xref ref-type="fig" rid="F6">Figure&#x20;6</xref> is given in <xref ref-type="fig" rid="F8">Figure&#x20;8</xref>. An equivalent representation of the persistence diagram consists in the so-called life-time diagram of <inline-formula id="inf24">
<mml:math id="m30">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula>, which is constructed by means of a bijective transformation <italic>T</italic> (<italic>a</italic>, <italic>b</italic>) &#x3d; (<italic>a</italic>, <italic>b</italic>&#x2212;<italic>a</italic>), acting over <inline-formula id="inf25">
<mml:math id="m31">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, that is,<disp-formula id="equ7">
<mml:math id="m32">
<mml:mi mathvariant="script">LT</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2254;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>a</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>:</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Persistence Diagram: in black the <italic>H</italic>
<sub>0</sub> features, and in red the <italic>H</italic>
<sub>1</sub> feature.</p>
</caption>
<graphic xlink:href="frai-04-761123-g008.tif"/>
</fig>
<p>In order to use the persistence features in a machine learning approach, we construct the so-called <italic>persistent image</italic> of <inline-formula id="inf26">
<mml:math id="m33">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula>. First, observe that <inline-formula id="inf27">
<mml:math id="m34">
<mml:mi mathvariant="script">LT</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is a finite set of <italic>p</italic> points,<disp-formula id="equ8">
<mml:math id="m35">
<mml:mi mathvariant="script">LT</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>and such that <italic>b</italic>
<sub>1</sub>&#x2212;<italic>a</italic>
<sub>1</sub> &#x2264; <italic>b</italic>
<sub>2</sub>&#x2212;<italic>a</italic>
<sub>2</sub> &#x2264; &#x2026;, &#x2264; <italic>b</italic>
<sub>
<italic>p</italic>
</sub>&#x2212;<italic>a</italic>
<sub>
<italic>p</italic>
</sub>. Then, consider a non-negative weighting function given by<disp-formula id="equ9">
<mml:math id="m36">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>w</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">LT</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x2192;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x21a6;</mml:mo>
<mml:mi>w</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mtext>for</mml:mtext>
<mml:mspace width="0.3333em"/>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Finally, we fix <italic>M</italic>, a natural number, and take a bivariate normal distribution <italic>g</italic>
<sub>
<italic>u</italic>
</sub> (<italic>x</italic>, <italic>y</italic>) centered at each point <inline-formula id="inf28">
<mml:math id="m37">
<mml:mi>u</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">LT</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> with a variance <inline-formula id="inf29">
<mml:math id="m38">
<mml:mi>&#x3c3;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mspace width="0.3333em"/>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> is the 2 &#xd7; 2 identity matrix). A persistence kernel is then defined according to:<disp-formula id="equ10">
<mml:math id="m39">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x2192;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x21a6;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">LT</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:mi>w</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>We associate to a robot trajectory <inline-formula id="inf30">
<mml:math id="m40">
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> a matrix in <inline-formula id="inf31">
<mml:math id="m41">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> as follows: let <italic>&#x3b4;</italic> &#x3e; 0 be a non-negative, small enough real number, and then consider a squared region <inline-formula id="inf32">
<mml:math id="m42">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2282;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, covering the support of <inline-formula id="inf33">
<mml:math id="m43">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> up to a certain precision <italic>&#x3b4;</italic>, such that<disp-formula id="equ11">
<mml:math id="m44">
<mml:msub>
<mml:mrow>
<mml:mo>&#x222c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>Then, we consider two uniform partitions of the intervals<disp-formula id="equ12">
<mml:math id="m45">
<mml:mi>a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mtext>&#x2009;and&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>Finally, we express <inline-formula id="inf34">
<mml:math id="m46">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> from<disp-formula id="equ13">
<mml:math id="m47">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c3;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c3;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c3;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x22c3;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>The persistence image of <inline-formula id="inf35">
<mml:math id="m48">
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:math>
</inline-formula> associated with the partition <inline-formula id="inf36">
<mml:math id="m49">
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is then described by the <inline-formula id="inf37">
<mml:math id="m50">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> matrix with elements:<disp-formula id="equ14">
<mml:math id="m51">
<mml:mi>P</mml:mi>
<mml:mi>I</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>&#x222c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mtext>&#x2009;for&#x2009;</mml:mtext>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>An example of persistence computation for a given trajectory is given in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Topological analysis of a trajectory: <bold>(A)</bold> Trajectory; <bold>(B)</bold> Persistence diagram; <bold>(C)</bold> Lifetime diagram; and <bold>(D)</bold> Persistence Image.</p>
</caption>
<graphic xlink:href="frai-04-761123-g009.tif"/>
</fig>
</sec>
<sec id="s2-4">
<title>2.4 Measuring Persistence Similarity</title>
<p>Consider two data sets <inline-formula id="inf38">
<mml:math id="m52">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf39">
<mml:math id="m53">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> representing two trajectories. A matching between two persistence diagrams, <inline-formula id="inf40">
<mml:math id="m54">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf41">
<mml:math id="m55">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, is a map <italic>&#x3c8;</italic>, that reads:<disp-formula id="equ15">
<mml:math id="m56">
<mml:mi>&#x3c8;</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2192;</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>such that <inline-formula id="inf42">
<mml:math id="m57">
<mml:mo>&#x2200;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="equ16">
<mml:math id="m58">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>&#x3c8;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2032;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>The map <italic>&#x3c8;</italic> associates each feature from <inline-formula id="inf43">
<mml:math id="m59">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to a feature from <inline-formula id="inf44">
<mml:math id="m60">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The <italic>optimal matching</italic> between <inline-formula id="inf45">
<mml:math id="m61">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf46">
<mml:math id="m62">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is a matching <inline-formula id="inf47">
<mml:math id="m63">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
<disp-formula id="equ17">
<mml:math id="m64">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2192;</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>minimizing the transport cost <inline-formula id="inf48">
<mml:math id="m65">
<mml:mi mathvariant="script">C</mml:mi>
</mml:math>
</inline-formula> to move the features from <inline-formula id="inf49">
<mml:math id="m66">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf50">
<mml:math id="m67">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="equ18">
<mml:math id="m68">
<mml:mtable class="align-star" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="monospace">min</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mo>&#x3d;</mml:mo>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
</p>
<p>Then, to measure the degree of similarity between two trajectories <inline-formula id="inf51">
<mml:math id="m69">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf52">
<mml:math id="m70">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> we consider the <italic>Wasserstein distance</italic> (<xref ref-type="bibr" rid="B29">Villani, 2006</xref>; <xref ref-type="bibr" rid="B24">Peyr&#xe9; and Cuturi, 2019</xref>) between <inline-formula id="inf53">
<mml:math id="m71">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf54">
<mml:math id="m72">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<disp-formula id="equ19">
<mml:math id="m73">
<mml:mi>W</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo>&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <inline-formula id="inf55">
<mml:math id="m74">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the optimal matching between <inline-formula id="inf56">
<mml:math id="m75">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf57">
<mml:math id="m76">
<mml:mi mathvariant="script">PD</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>An example of matching between the persistence diagrams of two trajectories is given in <xref ref-type="fig" rid="F10">Figure&#x20;10</xref>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Optimal matching between two persistence diagrams related to two robot trajectories.</p>
</caption>
<graphic xlink:href="frai-04-761123-g010.tif"/>
</fig>
</sec>
<sec id="s2-5">
<title>2.5 Barycentres of Persistence Diagrams</title>
<p>Consider now a collection <inline-formula id="inf58">
<mml:math id="m77">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2026;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of trajectories with their associated diagrams <inline-formula id="inf59">
<mml:math id="m78">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2026;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<p>Since the space of persistence diagrams equipped with the Wasserstein distance, the <italic>Wasserstein space</italic>, is not a linear space, the notion of barycentres (<xref ref-type="bibr" rid="B1">Agueh and Carlier, 2011</xref>) can be extended for the persistence diagrams using the so-called <italic>Frechet mean</italic> (<xref ref-type="bibr" rid="B28">Turner et&#x20;al., 2014</xref>), which always exists in the context of averaging finitely many diagrams.</p>
<p>The Frechet mean of <inline-formula id="inf60">
<mml:math id="m79">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2026;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is any diagram minimizing the map<disp-formula id="equ20">
<mml:math id="m80">
<mml:mi mathvariant="script">E</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x21a6;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi>W</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>The computation of the barycentre <italic>&#x3bc;</italic> has proven to be challenging, and multiple approaches can be used, such as the Sinkhorn algorithm (<xref ref-type="bibr" rid="B6">Cuturi and Doucet, 2014</xref>). We will use the one based on the Hungarian algorithm presented in <xref ref-type="bibr" rid="B28">Turner et&#x20;al. (2014)</xref> and consider Partial Optimal Matchings (<xref ref-type="bibr" rid="B7">Divol and Lacombe, 2020</xref>), as the diagrams may not be of the same size. In this case, points from the diagonal are matched with the remaining (exceeding) points.</p>
<p>In our case, we estimate the barycentres of a finite family of persistence diagrams, taking a Lagrangian approach by tracking the individual points of the diagrams. Given a collection <inline-formula id="inf61">
<mml:math id="m81">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2026;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of persistence diagrams, we proceed as follows:<list list-type="simple">
<list-item>
<p>1) Initialize the estimation <italic>&#x3bc;</italic> of the barycenter at a certain diagram <inline-formula id="inf62">
<mml:math id="m82">
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>2) Compute the optimal partial matchings <italic>&#x3c8;</italic>
<sub>1</sub> &#x2026; <italic>&#x3c8;</italic>
<sub>
<italic>n</italic>
</sub>, between <italic>&#x3bc;</italic> and <inline-formula id="inf63">
<mml:math id="m83">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2026;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">PD</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> respectively.</p>
</list-item>
<list-item>
<p>3) Compute the updated barycentre <inline-formula id="inf64">
<mml:math id="m84">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, by averaging the transport of each point in the barycentre <italic>&#x3bc;</italic>
</p>
</list-item>
</list>
<disp-formula id="equ21">
<mml:math id="m85">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>4. If <inline-formula id="inf65">
<mml:math id="m86">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> minimizes <inline-formula id="inf66">
<mml:math id="m87">
<mml:mi mathvariant="script">E</mml:mi>
</mml:math>
</inline-formula>, return <inline-formula id="inf67">
<mml:math id="m88">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. Otherwise, update <inline-formula id="inf68">
<mml:math id="m89">
<mml:mi>&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> and go back to&#x20;2.</p>
<p>An example of a barycentre of three persistence diagrams is given in <xref ref-type="fig" rid="F11">Figure&#x20;11</xref>.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Barycentre (in black) of three persistence diagrams (red, blue and green).</p>
</caption>
<graphic xlink:href="frai-04-761123-g011.tif"/>
</fig>
</sec>
<sec id="s2-6">
<title>2.6 Classification</title>
<p>Image classification is a procedure that is used to automatically categorize images into classes by assigning to&#x20;each image a label representative of its class. A supervised classification algorithm requires a training sample for each class, that is, a collection of data points whose class of interest is known. Labels are assigned to each class of interest. The classification problem applied to&#x20;a new observation (data) is thus based on how close a&#x20;new point is to each training sample. The Euclidean distance is the most common metrics used in low-dimensional datasets. The training samples are representative of the known classes of interest to the analyst. In order to classify the persistence images, we considered the logistic regression algorithm.</p>
<p>Consider a training set <inline-formula id="inf69">
<mml:math id="m90">
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of flattened persistence images, i.e.,&#x20;<italic>M</italic>&#x20;&#xd7; <italic>M</italic>-component vectors, computed from a set <inline-formula id="inf70">
<mml:math id="m91">
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of trajectories as described earlier. Associated is a list <inline-formula id="inf71">
<mml:math id="m92">
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of binary labels {0, 1}, describing whether an image <inline-formula id="inf72">
<mml:math id="m93">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is in the interest set or&#x20;not.</p>
<p>The training of the <inline-formula id="inf73">
<mml:math id="m94">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
<italic>-penalized logistic regression binary classifier</italic> is then the minimization of a cost function as described in the following optimization problem:<disp-formula id="equ22">
<mml:math id="m95">
<mml:msub>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>C</mml:mi>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="script">X</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>Here <italic>&#x3c9;</italic> are the weights we optimize over, <italic>c</italic> a Bernoulli mean vector of the weights, and <italic>C</italic> an inverse regularization parameter. Once trained, the model is evaluated on a unseen set of flattened persistence images. The metric used for the model evaluation is the <italic>Accuracy Score</italic> defined in the next section.</p>
</sec>
<sec id="s2-7">
<title>2.7 Model Evaluation</title>
<p>Evaluating a classification model consists of determining how often labels are correctly or wrongly predicted for the testing samples. In other words, it is counting how many times a sample is correctly or wrongly labelled into a particular class. We distinguish four qualities:<list list-type="simple">
<list-item>
<p>&#x2022; TP (True Positive): the correct prediction of a sample into a class;</p>
</list-item>
<list-item>
<p>&#x2022; TN (True Negative): the correct prediction of a sample out of a class;</p>
</list-item>
<list-item>
<p>&#x2022; FP (False Positive): the incorrect prediction of a sample into a class;</p>
</list-item>
<list-item>
<p>&#x2022; FN (False Negative): the incorrect prediction of a sample out of&#x20;class.</p>
</list-item>
</list>
</p>
<p>These quantities are involved in the definition of the model performances estimator, the AccuracyScore (A). It is giver by the ratio of the number of correct predictions over the number of all samples, expressed by<disp-formula id="equ23">
<mml:math id="m96">
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>N</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
</disp-formula>
</p>
</sec>
</sec>
<sec id="s3">
<title>3 Results</title>
<p>We recall the overall workflow of the proposed numerical procedure, summarized in <xref ref-type="fig" rid="F12">Figure&#x20;12</xref>:<list list-type="simple">
<list-item>
<p>1) We start by preprocessing and cleaning the raw data gathered from the robot sensors</p>
</list-item>
<list-item>
<p>2) The data frequency is homogenized (minute data), and the pathways over each patch (or location) are daily sampled. We obtain 240 daily trajectories.</p>
</list-item>
<list-item>
<p>3) We compute the Rips filtration as described earlier, and then the persistence diagrams.</p>
</list-item>
<list-item>
<p>4) The persistence images are computed for each daily pathway, and used as inputs for the classification.</p>
</list-item>
<list-item>
<p>5) The persistence diagrams are also used to compute barycentres over given periods, and compute the Wasserstein distance between diagrams.</p>
</list-item>
</list>
</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Workflow of the numerical procedure.</p>
</caption>
<graphic xlink:href="frai-04-761123-g012.tif"/>
</fig>
<p>We also describe the two main classifications tasks at hand:<list list-type="simple">
<list-item>
<p>1) Predict the patch in which the robot is located every day, using the 240 daily persistence images as inputs. This is a binary classification task, associating to each daily persistent image either the label 1 if the robot is in the target patch, or the label 0 if the robot is in any other patch. The goal is to show the capacity to differentiate between pathways coming from different patches based on their topological signature.</p>
</list-item>
<list-item>
<p>2) Predict whether a maintenance has been operated on a robot or not, using the 50 daily persistence images associated to the same target patch as inputs. The maintenance dates are known. This is also a binary classification task, associating to each daily persistent image either the label 1 if the maintenance has occurred before that day, or the label 0 if not. The goal is to show the capacity to differentiate between functioning states of the robots, before and after a maintenance operation, while controlling the other factors (pathways sampled from the same patch).</p>
</list-item>
</list>
</p>
<p>The choice of the target patch &#x23;3 and has been motivated by two considerations:<list list-type="simple">
<list-item>
<p>&#x2022; Have two equilibrated classes in the first classification task: the patch &#x23;3 is by far the one where the robot has spent most of time in operation, and it involves a very equilibrated 126/114 distribution of the two classes (0 and 1) after data cleaning.</p>
</list-item>
<list-item>
<p>&#x2022; Also within the same patch it was possible to have 50&#xa0;days time window around a maintenance operation where the robot stayed within the patch, with 25&#xa0;days before and 25 after the maintenance operation on the robot, resulting in two perfectly balanced classes for the classification.</p>
</list-item>
<list-item>
<p>&#x2022; We also note that the train-test split (65&#x2013;35%) in both tasks has been done with stratification: the proportion of each class in the dataset is preserved when splitting the data (roughly 50&#x2013;50%).</p>
</list-item>
</list>
</p>
<p>Both classification tasks and associated results are summarized in <xref ref-type="fig" rid="F13">Figure&#x20;13</xref>.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Classification tasks summary.</p>
</caption>
<graphic xlink:href="frai-04-761123-g013.tif"/>
</fig>
<sec id="s3-1">
<title>3.1 Determination of the Patch in Which the Robot Is Located</title>
<p>We first want to predict whether a robot is in a certain patch. For that purpose we choose one parcel as a target, and train a classification model as described in <xref ref-type="sec" rid="s2-6">Section 2.6</xref>. The complete dataset consists of daily trajectories for 240&#xa0;days. For each day a persistence image is computed, which will then be used as input for the model (a sample is depicted in <xref ref-type="fig" rid="F9">Figure&#x20;9</xref>). The samples are labelled according to the target patch (patch &#x23;3): 1 if the robot is in the target patch (114 samples), and 0 otherwise (126 samples). The dataset is split into 65<italic>%</italic> for training and 35<italic>%</italic> for testing. The proposed classifier achieves an 80<italic>%</italic> accuracy score in predicting the patch at which the robot is, based on the persistence images.</p>
</sec>
<sec id="s3-2">
<title>3.2 Maintenance Prediction</title>
<p>Then, we consider daily trajectories in the same patch (patch &#x23;3), consisting of 50 samples. For each day, a persistence image is computed, that will be used as input in the classifier. The periods considered here are the ones in between two consecutive maintenance operations of the robot. The samples are labelled 0 if they are associated to a day before the maintenance date (25 samples), 1 otherwise (25 samples). The dataset is split into 65<italic>%</italic> for training and 35<italic>%</italic> for testing. The model achieves a 90<italic>%</italic> accuracy score predicting the period associated to the sampled trajectories. The model high accuracy proves that the topological descriptors have enough information about the pathways to allow detecting patterns related to maintenance events, fact that could be used for predictive maintenance purposes.</p>
</sec>
<sec id="s3-3">
<title>3.3 A Time Varying Measure</title>
<p>
<xref ref-type="fig" rid="F14">Figure&#x20;14</xref> depicts the Wasserstein distance between the persistence diagrams for consecutive daily trajectories, with the maintenance operation emphasized in red, whereas <xref ref-type="fig" rid="F15">Figure&#x20;15</xref> shows the barycentres of each period between consecutive maintenance operations. As it can be noticed from the persistence images in <xref ref-type="fig" rid="F15">Figure&#x20;15</xref>, maintenance operations affect the topology of the trajectory, as it was expected from the fact that classification performs successfully as just reported.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Time series of the Wasserstein distance between the persistence diagrams for consecutive daily trajectories: in red the maintenance events.</p>
</caption>
<graphic xlink:href="frai-04-761123-g014.tif"/>
</fig>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Persistence images of the barycentres computed for each period.</p>
</caption>
<graphic xlink:href="frai-04-761123-g015.tif"/>
</fig>
<p>To better support our hypothesis about the effect of maintenance on the trajectory topology, we consider the first operation interval, the one before the first maintenance, that correspond to the first persistence image in <xref ref-type="fig" rid="F15">Figure&#x20;15</xref> (left), and divide it in two parts with identical length. Then, the associated barycentres in both half intervals are obtained. Both are represented in <xref ref-type="fig" rid="F16">Figure&#x20;16</xref>.</p>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption>
<p>Persistence images of the two half-intervals related to the first period whose persistence image was the first image in Figure&#x20;15.</p>
</caption>
<graphic xlink:href="frai-04-761123-g016.tif"/>
</fig>
<p>As it can be noticed, both of them resemble very much to the one associated to the whole interval (the first picture in <xref ref-type="fig" rid="F15">Figure&#x20;15</xref>), with a Wasserstein distance of 23.5 and 24.1 (computed on the associated diagrams). Conversely, the distance of both to the second period is much higher (46.5 and&#x20;26.1).</p>
<p>Finally, we can compute the distance of the 5 latter periods to the first one (<xref ref-type="fig" rid="F15">Figure&#x20;15</xref>) and we have: 36.7, 31.0, 34.2, 33.3, 35.2, so significantly higher than the first period compared to its own two halves.</p>
<p>These results support again our assumption on the effect of maintenance on the trajectory topology.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Conclusion</title>
<p>The characterization of the trajectories followed by the robot based on the geographical location proves to be a reliable method to differentiate between different environments affecting the robot motion. Then, over a single patch, the classification was proved being efficient to detect the changes in the robot signature related to maintenance events.</p>
<p>The proposed topology-based framework for sampled trajectories seems a very pertinent, powerful and intrinsic way of quantifying, characterizing and analysing the topological and geometrical nature of the robot&#x2019;s pathways. The strength of the framework relies on both the topology description of the trajectory at multiple scales, and the use of metrics features that can be combined with machine learning.</p>
</sec>
</body>
<back>
<sec id="s5">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s6">
<title>Author Contributions</title>
<p>TF and AS performed research and coded the programs for the examples. MG, AC, and XB identified the problem, guided the research and revised the manuscript. AF and EC supervised the research and developed the methodology based on TDA. FC directed and coordinated the research and obtained the funding.</p>
</sec>
<sec sec-type="COI-statement" id="s7">
<title>Conflict of Interest</title>
<p>AS, AC, and FC were employed by the company ESI Group and MG and XB were employed by the company VITIROVER.</p>
<p>The reamining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s8">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Agueh</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Carlier</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Barycenters in the Wasserstein Space</article-title>. <source>SIAM J.&#x20;Math. Anal.</source> <volume>43</volume>, <fpage>904</fpage>&#x2013;<lpage>924</lpage>. <pub-id pub-id-type="doi">10.1137/100805741</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alatise</surname>
<given-names>M. B.</given-names>
</name>
<name>
<surname>Hancke</surname>
<given-names>G. P.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A Review on Challenges of Autonomous mobile Robot and Sensor Fusion Methods</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>39830</fpage>&#x2013;<lpage>39846</lpage>. <pub-id pub-id-type="doi">10.1109/access.2020.2975643</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Avan&#xe7;o</surname>
<given-names>R. H.</given-names>
</name>
<name>
<surname>Navarro</surname>
<given-names>H. A.</given-names>
</name>
<name>
<surname>Nabarrete</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Balthazar</surname>
<given-names>J.&#x20;M.</given-names>
</name>
<name>
<surname>Tusset</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Chaotic Behavior in the Double Pendulum under Parametric Resonance</source>. <publisher-name>American Society of Mechanical Engineers (ASME)</publisher-name>. <pub-id pub-id-type="doi">10.1115/imece2016-65711</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Breiman</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>Random Forests</article-title>. <source>Machine Learn.</source> <volume>45</volume>, <fpage>5</fpage>&#x2013;<lpage>32</lpage>. <pub-id pub-id-type="doi">10.1023/a:1010933404324</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cristianini</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Shawe-Taylor</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2000</year>). <source>An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods</source>. <publisher-loc>New York</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>. </citation>
</ref>
<ref id="B6">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cuturi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Doucet</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Fast Computation of Wasserstein Barycenters</article-title>,&#x201d;. Editors <person-group person-group-type="editor">
<name>
<surname>Xing</surname>
<given-names>E. P.</given-names>
</name>
<name>
<surname>Jebara</surname>
<given-names>T.</given-names>
</name>
</person-group> (<publisher-loc>Bejing, China</publisher-loc>: <publisher-name>of Proceedings of Machine Learning Research</publisher-name>), <fpage>685</fpage>&#x2013;<lpage>693</lpage>.<conf-name>Proceedings of the 31st International Conference on Machine Learning</conf-name> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Divol</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Lacombe</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Understanding the Topology and the Geometry of the Space of Persistence Diagrams via Optimal Partial Transport</article-title>. <source>J.&#x20;Appl. Comput. Topology</source> <volume>5</volume>, <fpage>1</fpage>&#x2013;<lpage>53</lpage>. <pub-id pub-id-type="doi">10.1007/s41468-020-00061-z</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Frahi</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Argerich</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Yun</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Falco</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Barasinski</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Tape Surfaces Characterization with Persistence Images</article-title>. <source>AIMS Mater. Sci.</source> <volume>7</volume>, <fpage>364</fpage>&#x2013;<lpage>380</lpage>. <pub-id pub-id-type="doi">10.3934/matersci.2020.4.364</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Frahi</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Falc&#xf3;</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Badias</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Cueto</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Choi</surname>
<given-names>H. Y.</given-names>
</name>
</person-group> (<year>2021a</year>). <article-title>Empowering Advanced Driver-Assistance Systems from Topological Data Analysis</article-title>. <source>Mathematics</source> <volume>9</volume>, <fpage>634</fpage>. <pub-id pub-id-type="doi">10.3390/math9060634</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Frahi</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Falco</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mau</surname>
<given-names>B. V.</given-names>
</name>
<name>
<surname>Duval</surname>
<given-names>J.&#x20;L.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2021b</year>). <article-title>Empowering Advanced Parametric Modes Clustering from Topological Data Analysis</article-title>. <source>Appl. Sci.</source> <volume>11</volume>, <fpage>6554</fpage>. <pub-id pub-id-type="doi">10.3390/app11146554</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Goodfellow</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Bengio</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Courville</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Deep Learning</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>MIT Press</publisher-name>. </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gupta</surname>
<given-names>M. K.</given-names>
</name>
<name>
<surname>Bansal</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Singh</surname>
<given-names>A. K.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Mass and Length Dependent Chaotic Behavior of a Double Pendulum</article-title>. <source>IFAC Proc. Volumes</source> <volume>47</volume>, <fpage>297</fpage>&#x2013;<lpage>301</lpage>. <pub-id pub-id-type="doi">10.3182/20140313-3-in-3024.00071</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hastie</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Tibshirani</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Friedman</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2009</year>). <source>The Elements of Statistical Learning: Data Mining, Inference, and Prediction</source>. <publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iba&#xf1;ez</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Abisset-Chavanne</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Cueto</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Ammar</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Duval</surname>
<given-names>J.&#x20;L.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Some Applications of Compressed Sensing in Computational Mechanics: Model Order Reduction, Manifold Learning, Data-Driven Applications and Nonlinear Dimensionality Reduction</article-title>. <source>Comput. Mech.</source> <volume>64</volume>, <fpage>1259</fpage>&#x2013;<lpage>1271</lpage>. <pub-id pub-id-type="doi">10.1007/s00466-019-01703-5</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kavraki</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Kolountzakis</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Latombe</surname>
<given-names>J.-C.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Analysis of Probabilistic Roadmaps for Path Planning</article-title>. <source>IEEE Trans. Robotics Automation</source> <volume>14</volume>, <fpage>166</fpage>&#x2013;<lpage>171</lpage>. <pub-id pub-id-type="doi">10.1109/70.660866</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Kirkwood</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Decision Tree Primer</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://www.public.asu.edu/kirkwood/DAStuff/refs/decisiontrees/index.html">https://www.public.asu.edu/kirkwood/DAStuff/refs/decisiontrees/index.html</ext-link>
</comment>. </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lhermitte</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Verbesselt</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Verstraeten</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Coppin</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>A Comparison of Time Series Similarity Measures for Classification and Change Detection of Ecosystem Dynamics</article-title>. <source>Remote Sensing Environ.</source> <volume>115</volume>, <fpage>3129</fpage>&#x2013;<lpage>3152</lpage>. <pub-id pub-id-type="doi">10.1016/j.rse.2011.06.020</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>MacKay</surname>
<given-names>D. J.</given-names>
</name>
</person-group> (<year>2003</year>). <source>Information Theory, Inference, and Learning Algorithms</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>. </citation>
</ref>
<ref id="B19">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>MacQueen</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1967</year>). &#x201c;<article-title>Some Methods for Classification and Analysis of Multivariate Observations</article-title>,&#x201d; in <source>Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability</source> (<publisher-name>University of California Press</publisher-name>), <fpage>281</fpage>&#x2013;<lpage>297</lpage>. </citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mart&#xed;n</surname>
<given-names>C. A.</given-names>
</name>
<name>
<surname>Pinillo</surname>
<given-names>R. I.</given-names>
</name>
<name>
<surname>Barasinski</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Code2vect: An Efficient Heterogenous Data Classifier and Nonlinear Regression Technique</article-title>. <source>Comptes Rendus M&#x233;canique</source>, <volume>347</volume>, <fpage>754</fpage>&#x2013;<lpage>761</lpage>. <pub-id pub-id-type="doi">10.1016/j.crme.2019.11.002</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohanty</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Parhi</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Controlling the Motion of an Autonomous mobile Robot Using Various Techniques: a Review</article-title>. <source>J.&#x20;Adv. Mech. Eng.</source> <volume>1</volume>, <fpage>24</fpage>&#x2013;<lpage>39</lpage>. <pub-id pub-id-type="doi">10.7726/jame.2013.1003</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>M&#xfc;ller</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2007</year>). <source>Information Retrieval for Music and Motion</source>. <publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Murphy</surname>
<given-names>K. P.</given-names>
</name>
</person-group> (<year>2012</year>). <source>Machine Learning: A Probabilistic Perspective</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>MIT Press</publisher-name>. </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peyr&#xe9;</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Cuturi</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Computational Optimal Transport: With Applications to Data Science</article-title>. <source>Foundations Trends&#xae; Machine Learn.</source> <volume>11</volume>, <fpage>355</fpage>&#x2013;<lpage>607</lpage>. <pub-id pub-id-type="doi">10.1561/2200000073</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Senin</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2008</year>). <source>Dynamic Time Warping Algorithm reviewTech. Rep.</source> <publisher-loc>Honolulu, USA</publisher-loc>: <publisher-name>University of Hawaii at Manoa</publisher-name>. </citation>
</ref>
<ref id="B26">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Shalal</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Low</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Mccarthy</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Hancock</surname>
<given-names>N. H.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>A Review of Autonomous Navigation Systems in Agricultural Environments</article-title>,&#x201d; in <source>SEAg 2013: Innovative Agricultural Technologies for a Sustainable Future</source> (<publisher-loc>Barton, Western Australia</publisher-loc>: <publisher-name>Society for Engineering in Agriculture</publisher-name>, <fpage>22</fpage>&#x2013;<lpage>25</lpage>. <comment>Sept 2013</comment>. </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Torquato</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Statistical Description of Microstructures</article-title>. <source>Annu. Rev. Mater. Res.</source> <volume>32</volume>, <fpage>77</fpage>&#x2013;<lpage>111</lpage>. <pub-id pub-id-type="doi">10.1146/annurev.matsci.32.110101.155324</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Turner</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Mileyko</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Mukherjee</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Harer</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Fr&#xe9;chet Means for Distributions of Persistence Diagrams</article-title>. <source>Discrete Comput. Geometry</source> <volume>52</volume>, <fpage>44</fpage>&#x2013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1007/s00454-014-9604-7</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Villani</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2006</year>). <source>Optimal Transport, Old and New</source>. <publisher-loc>Berlin</publisher-loc>: <publisher-name>Springer</publisher-name>. </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yun</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Argerich</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Cueto</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Duval</surname>
<given-names>J.&#x20;L.</given-names>
</name>
<name>
<surname>Chinesta</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Nonlinear Regression Operating on Microstructures Described from Topological Data Analysis for the Real-Time Prediction of Effective Properties</article-title>. <source>Materials</source> <volume>13</volume>, <fpage>2335</fpage>. <pub-id pub-id-type="doi">10.3390/ma13102335</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>