<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Public Transport | Language Technologies Lab</title><link>https://nlp.unibo.it/tag/public-transport/</link><atom:link href="https://nlp.unibo.it/tag/public-transport/index.xml" rel="self" type="application/rss+xml"/><description>Public Transport</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 01 Jan 2024 00:00:00 +0000</lastBuildDate><image><url>https://nlp.unibo.it/media/logo.svg</url><title>Public Transport</title><link>https://nlp.unibo.it/tag/public-transport/</link></image><item><title>Disruptive situation detection on public transport through speech emotion recognition</title><link>https://nlp.unibo.it/publication/mancini-etal-2024-disruptive/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://nlp.unibo.it/publication/mancini-etal-2024-disruptive/</guid><description>&lt;h2 id="research-setting"&gt;Research setting&lt;/h2&gt;
&lt;p&gt;A disruptive situation is an emotionally charged event, such as people fighting or screaming, and detecting it in time on public transport can make passengers safer.
The paper treats detection as speech emotion recognition (SER), where a model labels a short speech recording as disruptive (D) or non-disruptive (ND) from the emotion it expresses.
The model reads two kinds of audio features.
Mel-Frequency Cepstral Coefficients (MFCCs) summarize the sound spectrum frame by frame, and Root-Mean-Square Energy (RMSE) measures loudness.
Training and test data come from four acted English datasets (RAVDESS, TESS, SAVEE, and CREMA-D), in which actors speak with a given emotion.&lt;/p&gt;
&lt;figure class="lt-viz lt-svg"&gt;
&lt;svg viewBox="0 0 640 300" role="img" aria-labelledby="ds-title" xmlns="http://www.w3.org/2000/svg"&gt;
&lt;defs&gt;&lt;marker id="ds-arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"&gt;&lt;path class="lt-s-head" d="M0 0 L10 5 L0 10 z"/&gt;&lt;/marker&gt;&lt;/defs&gt;
&lt;title id="ds-title"&gt;Disruptive situation detection as speech emotion recognition: a short speech recording is turned into audio features, and a classifier labels it disruptive (anger, sadness, fear, disgust) or non-disruptive (neutral, happiness, surprise, calm).&lt;/title&gt;
&lt;text class="lt-s-sub" x="20" y="24"&gt;INPUT&lt;/text&gt;
&lt;text class="lt-s-sub" x="230" y="24"&gt;SER MODEL&lt;/text&gt;
&lt;text class="lt-s-sub" x="430" y="24"&gt;OUTPUT CLASS&lt;/text&gt;
&lt;rect class="lt-s-tok" x="20" y="100" width="170" height="90" rx="12"/&gt;
&lt;text class="lt-s-txt lt-s-strong" x="105" y="132"&gt;Speech recording&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="105" y="154"&gt;a few seconds of audio&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="105" y="172"&gt;of passenger speech&lt;/text&gt;
&lt;path class="lt-s-arrow" marker-end="url(#ds-arrow)" d="M192 145 H226"/&gt;
&lt;rect class="lt-s-box lt-s-pred" x="230" y="100" width="170" height="90" rx="12"/&gt;
&lt;text class="lt-s-txt lt-s-strong" x="315" y="132"&gt;Audio features&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="315" y="150"&gt;MFCCs and RMSE&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-strong" x="315" y="176"&gt;SVM or CNN&lt;/text&gt;
&lt;path class="lt-s-arrow" marker-end="url(#ds-arrow)" d="M402 135 L428 92"/&gt;
&lt;path class="lt-s-arrow" marker-end="url(#ds-arrow)" d="M402 155 L428 198"/&gt;
&lt;rect class="lt-s-box lt-s-sel" x="430" y="40" width="190" height="100" rx="12"/&gt;
&lt;rect class="lt-s-label" x="440" y="54" width="170" height="28" rx="14"/&gt;
&lt;text class="lt-s-txt lt-s-labeltxt lt-s-strong" x="525" y="73"&gt;Disruptive (D)&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="525" y="106"&gt;anger, sadness,&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="525" y="124"&gt;fear, disgust&lt;/text&gt;
&lt;rect class="lt-s-tok" x="430" y="160" width="190" height="100" rx="12"/&gt;
&lt;rect class="lt-s-label" x="440" y="174" width="170" height="28" rx="14"/&gt;
&lt;text class="lt-s-txt lt-s-labeltxt lt-s-strong" x="525" y="193"&gt;Non-disruptive (ND)&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="525" y="226"&gt;neutral, happiness,&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="525" y="244"&gt;surprise, calm&lt;/text&gt;
&lt;text class="lt-s-txt lt-s-small" x="320" y="288"&gt;Each emotion in the datasets is mapped to one of the two classes.&lt;/text&gt;
&lt;/svg&gt;
&lt;figcaption&gt;Disruptive situation detection framed as binary speech emotion recognition. Schema drawn from the paper&amp;rsquo;s definitions (Section 4.1.2); the emotion-to-class mapping is the paper&amp;rsquo;s.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="motivation"&gt;Motivation&lt;/h2&gt;
&lt;p&gt;The main earlier work on public transport framed the problem as detecting screams and shouted speech.
Yet disruption is not always loud: a passenger can be threatened quietly or be paralyzed by fear.
A real system also has to work in a noisy train, with several people speaking at once, and for speakers of any gender.
Lastly, many SER studies split data at random.
The same actor can then appear in training and test, which makes results look better than they are.&lt;/p&gt;
&lt;figure class="lt-viz lt-gap"&gt;
&lt;div class="lt-viz-scroll"&gt;
&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;Approach&lt;/th&gt;&lt;th scope="col"&gt;Public transport setting&lt;/th&gt;&lt;th scope="col"&gt;Emotion-based detection&lt;/th&gt;&lt;th scope="col"&gt;Actor- and gender-independent splits&lt;/th&gt;&lt;th scope="col"&gt;Domain-specific noise&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;Scream and shouted speech detection (Laffitte et al., 2016)&lt;/th&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-times-circle lt-no" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;no&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;not discussed&lt;/td&gt;
&lt;td&gt;not discussed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;SER with random data splits (Padi et al., 2020; de Pinto et al., 2020; Patel et al., 2022)&lt;/th&gt;
&lt;td&gt;&lt;i class="fas fa-times-circle lt-no" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;no&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-times-circle lt-no" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;no&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;not discussed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;SER with leave-one-speaker-out or gender splits (Bitouk et al., 2010; Fu et al., 2020; Zhu et al., 2017)&lt;/th&gt;
&lt;td&gt;&lt;i class="fas fa-times-circle lt-no" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;no&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-adjust lt-partial" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;partially&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;not discussed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th scope="row"&gt;SER with white-noise augmentation (An and Ruan, 2021)&lt;/th&gt;
&lt;td&gt;&lt;i class="fas fa-times-circle lt-no" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;no&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;not discussed&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-adjust lt-partial" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;partially&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="is-ours"&gt;
&lt;th scope="row"&gt;This paper &lt;span class="lt-ours"&gt;This work&lt;/span&gt;&lt;/th&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;i class="fas fa-check-circle lt-yes" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="sr-only"&gt;yes&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;figcaption&gt;How the paper relates to the related work it discusses (Sections 1, 2, and 4.1 of the paper).&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Objective.&lt;/strong&gt; Test whether disruptive situation detection can be framed as speech emotion recognition, with a model that is independent of speaker and gender, robust to noise, and robust to multiple overlapping voices.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="approach"&gt;Approach&lt;/h2&gt;
&lt;p&gt;The paper prepares the four datasets so that the evaluation is fair, then trains two lightweight classifiers on them.
Each actor appears in only one split, and splits balance male and female actors when the dataset allows it.
To mimic a train, the training audio is mixed with three real noise recordings.
They capture the inside of a train, a freight train with squeaky wheels, and a small crowd of children playing.
The two classifiers are a support vector machine (SVM) and a small convolutional neural network (CNN), both cheap enough for edge devices.
The paper tests 64 combinations of 4 feature sets, 2 classifiers, and 8 training sets (each dataset with and without noise).&lt;/p&gt;
&lt;figure class="lt-viz lt-pipeline"&gt;
&lt;ol&gt;
&lt;li class="lt-pipeline-step"&gt;
&lt;span class="lt-pipeline-index"&gt;&lt;i class="fas fa-tags" aria-hidden="true"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;strong&gt;Two classes&lt;/strong&gt;
&lt;span&gt;Map each emotion to disruptive or non-disruptive.&lt;/span&gt;
&lt;/li&gt;
&lt;li class="lt-pipeline-step is-highlight"&gt;
&lt;span class="lt-pipeline-index"&gt;&lt;i class="fas fa-users" aria-hidden="true"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;strong&gt;Fair splits&lt;/strong&gt;
&lt;span&gt;Each actor in one split, genders balanced.&lt;/span&gt;
&lt;/li&gt;
&lt;li class="lt-pipeline-step is-highlight"&gt;
&lt;span class="lt-pipeline-index"&gt;&lt;i class="fas fa-train" aria-hidden="true"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;strong&gt;Train noise&lt;/strong&gt;
&lt;span&gt;Overlay train or crowd noise, 2 dB below the voice.&lt;/span&gt;
&lt;/li&gt;
&lt;li class="lt-pipeline-step"&gt;
&lt;span class="lt-pipeline-index"&gt;&lt;i class="fas fa-wave-square" aria-hidden="true"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;strong&gt;Features&lt;/strong&gt;
&lt;span&gt;5-second clips at 16 kHz, 12 or 25 MFCCs, optional RMSE.&lt;/span&gt;
&lt;/li&gt;
&lt;li class="lt-pipeline-step"&gt;
&lt;span class="lt-pipeline-index"&gt;&lt;i class="fas fa-project-diagram" aria-hidden="true"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;strong&gt;Classifier&lt;/strong&gt;
&lt;span&gt;SVM or CNN, also combined in an ensemble.&lt;/span&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;figcaption&gt;The method of the paper, from raw recordings to a disruptive or non-disruptive label (Sections 4.1 and 4.2).&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id="results"&gt;Results&lt;/h2&gt;
&lt;p&gt;The main metric is the F1 score on the disruptive class, which is high only when the model finds disruptive recordings without raising many false alarms.
Models are tested on the clean test split of each dataset.
RAVDESS, the reference dataset with 12 actresses and 12 actors, also gets noisy, single-gender, and overlapping-voice test sets.&lt;/p&gt;
&lt;ul class="lt-viz lt-proj-numbers"&gt;&lt;li&gt;&lt;span class="lt-proj-number"&gt;0.91&lt;/span&gt;&lt;span class="lt-proj-number-label"&gt;F1 (D) of the best CNN on the clean RAVDESS test set&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="lt-proj-number"&gt;0.87&lt;/span&gt;&lt;span class="lt-proj-number-label"&gt;F1 (D) on noisy RAVDESS when the CNN is trained with noise&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="lt-proj-number"&gt;0.92&lt;/span&gt;&lt;span class="lt-proj-number-label"&gt;F1 (D) of an ensemble that averages three models&amp;rsquo; probabilities&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dataset&lt;/th&gt;
&lt;th&gt;Best CNN F1 (D)&lt;/th&gt;
&lt;th&gt;Best SVM F1 (D)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RAVDESS&lt;/td&gt;
&lt;td&gt;0.91 (+0.21)&lt;/td&gt;
&lt;td&gt;0.75 (+0.05)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TESS&lt;/td&gt;
&lt;td&gt;0.77 (+0.04)&lt;/td&gt;
&lt;td&gt;0.73 (+0.00)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SAVEE&lt;/td&gt;
&lt;td&gt;0.67 (+0.00)&lt;/td&gt;
&lt;td&gt;0.62 (-0.05)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CREMA-D&lt;/td&gt;
&lt;td&gt;0.92 (+0.03)&lt;/td&gt;
&lt;td&gt;0.89 (+0.00)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Best F1 score on the disruptive class on each clean test set, with the gain over a majority baseline, which always predicts the most frequent class, in parentheses. Source: Table 4 of the paper.&lt;/em&gt;&lt;/p&gt;
&lt;figure class="lt-viz lt-bars"&gt;
&lt;figcaption class="lt-viz-title"&gt;F1 on the disruptive class, noisy RAVDESS test set &lt;span&gt;(higher is better)&lt;/span&gt;&lt;/figcaption&gt;
&lt;ul&gt;&lt;li class="lt-bar" tabindex="0"&gt;
&lt;span class="lt-bar-label"&gt;CNN&lt;/span&gt;
&lt;span class="lt-bar-track"&gt;&lt;span class="lt-bar-fill" style="--w: 73%"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="lt-bar-value"&gt;0.73&lt;/span&gt;
&lt;/li&gt;&lt;li class="lt-bar" tabindex="0"&gt;
&lt;span class="lt-bar-label"&gt;CNN + noise augmentation&lt;/span&gt;
&lt;span class="lt-bar-track"&gt;&lt;span class="lt-bar-fill" style="--w: 87%"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="lt-bar-value"&gt;0.87&lt;/span&gt;
&lt;/li&gt;&lt;li class="lt-bar" tabindex="0"&gt;
&lt;span class="lt-bar-label"&gt;CNN + RMSE&lt;/span&gt;
&lt;span class="lt-bar-track"&gt;&lt;span class="lt-bar-fill" style="--w: 76%"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="lt-bar-value"&gt;0.76&lt;/span&gt;
&lt;/li&gt;&lt;li class="lt-bar" tabindex="0"&gt;
&lt;span class="lt-bar-label"&gt;SVM&lt;/span&gt;
&lt;span class="lt-bar-track"&gt;&lt;span class="lt-bar-fill" style="--w: 70%"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="lt-bar-value"&gt;0.70&lt;/span&gt;
&lt;/li&gt;&lt;li class="lt-bar" tabindex="0"&gt;
&lt;span class="lt-bar-label"&gt;SVM + noise augmentation&lt;/span&gt;
&lt;span class="lt-bar-track"&gt;&lt;span class="lt-bar-fill" style="--w: 67%"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="lt-bar-value"&gt;0.67&lt;/span&gt;
&lt;/li&gt;&lt;li class="lt-bar" tabindex="0"&gt;
&lt;span class="lt-bar-label"&gt;SVM + RMSE + noise augmentation&lt;/span&gt;
&lt;span class="lt-bar-track"&gt;&lt;span class="lt-bar-fill" style="--w: 66%"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="lt-bar-value"&gt;0.66&lt;/span&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="lt-viz-note"&gt;F1 (D) on the noise-corrupted RAVDESS test set for models trained on RAVDESS, with 25 MFCCs. Source: Table 6 of the paper.&lt;/p&gt;
&lt;details class="lt-viz-table"&gt;
&lt;summary&gt;Show as table&lt;/summary&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th scope="col"&gt;System&lt;/th&gt;&lt;th scope="col"&gt;F1 on the disruptive class, noisy RAVDESS test set&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CNN&lt;/td&gt;&lt;td&gt;0.73&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CNN + noise augmentation&lt;/td&gt;&lt;td&gt;0.87&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CNN + RMSE&lt;/td&gt;&lt;td&gt;0.76&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SVM&lt;/td&gt;&lt;td&gt;0.70&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SVM + noise augmentation&lt;/td&gt;&lt;td&gt;0.67&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SVM + RMSE + noise augmentation&lt;/td&gt;&lt;td&gt;0.66&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;/details&gt;
&lt;/figure&gt;
&lt;p&gt;CNNs give the best results on all four datasets.
On RAVDESS they beat the majority baseline by 0.21 F1 (D), while TESS, SAVEE, and CREMA-D remain hard.
On clean test data, noise augmentation has almost no effect.
On the noisy test set, it limits the CNN loss to 4 F1 points, against up to 17 points without it.
The best RAVDESS CNN scores 0.94 on male-only and 0.89 on female-only test sets (Table 5), which suggests gender independence.
With 2, 5, and 10 overlapping voices, RAVDESS models keep an F1 (D) of 0.89, 0.83, and 0.92, against 0.91 on single files (Table 7).&lt;/p&gt;
&lt;h2 id="takeaways"&gt;Takeaways&lt;/h2&gt;
&lt;ol class="lt-viz lt-takeaways"&gt;
&lt;li&gt;&lt;strong&gt;Disruption can be heard as emotion.&lt;/strong&gt;&lt;span&gt;Framed as binary speech emotion recognition, a small CNN reaches an F1 of 0.91 on the disruptive class of RAVDESS, with actors never shared between training and test.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Train with the noise you expect.&lt;/strong&gt;&lt;span&gt;Mixing real train and crowd noise into the training audio keeps the CNN at 0.87 F1 on a noisy test set, against 0.73 without it.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Small models, open questions.&lt;/strong&gt;&lt;span&gt;The models are light enough for edge devices. They were trained on acted English speech and not tested in real deployments, so a real-world dataset is the next step.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>