Challenge has ended. Full results for this task can be found in the Results page.
Description
Anomalous sound detection (ASD) is the task of identifying whether the sound emitted from a target machine is normal or anomalous. Automatic detection of mechanical failure is an essential technology in the fourth industrial revolution, which involves artificial-intelligence-based factory automation. Prompt detection of machine anomalies by observing sounds is useful for monitoring the condition of machines. Figure 1 shows an overview of the detection system.
This task is the follow-up from DCASE 2020 Task 2 to DCASE 2022 Task 2. The task this year is to develop an ASD system that meets the following four requirements.
-
Train a model using only normal sound (unsupervised learning scenario)
Because anomalies rarely occur and are highly diverse in real-world factories, it can be difficult to collect exhaustive patterns of anomalous sounds. Therefore, the system must detect unknown types of anomalous sounds that are not provided in the training data. This is the same requirement as in the previous tasks. -
Detect anomalies regardless of domain shifts (domain generalization task)
In real-world cases, the operational states of a machine or the environmental noise can change to cause domain shifts. Domain-generalization techniques can be useful for handling domain shifts that occur frequently or are hard-to-notice. In this task, the system is required to use domain-generalization techniques for handling these domain shifts. This requirement is the same as in DCASE 2022 Task 2. -
Train a model for a completely new machine type
For a completely new machine type, hyperparameters of the trained model cannot be tuned. Therefore, the system should have the ability to train models without additional hyperparameter tuning. -
Train a model using a limited number of machines from its machine type
While sounds from multiple machines of the same machine type can be used to enhance the detection performance, it is often the case that only a limited number of machines are available for a machine type. In such a case, the system should be able to train models using a few machines from a machine type.
The latter two requirements are newly introduced in DCASE 2023 Task2 as "first-shot problem".
First-shot problem: Focus of task
This year, the task is focused on the first-shot problem. We explain some practical conditions that were not considered in the previous tasks and how these conditions, defined as the first-shot problem, are reflected in the task this year.
First, tuning hyperparameters using test data can be infeasible for a new machine type. In previous years, the development dataset and evaluation dataset had the same set of machine types, which enabled participants to tune the hyperparameter for each machine type using test data in the development dataset. For example, the valve sound data in the development dataset can be used for tuning hyperparameters for model ensembling so that the detection performance for the valve sound data in the evaluation dataset can be improved. However, in real-world applications, this approach is often infeasible because the machine type can be completely new or the amount of test data can be insufficient for tuning hyperparameters. This problem motivated the organizers to set the third requirement described above and prepare completely different set of machine types between the development dataset and evaluation dataset.
Second, there can be a limited number of machines for a machine type. In previous years, multiple sections from multiple different machines were provided for each machine type. Although this feature has led to the development of outlier exposure approaches that use sound clips from different machines as anomalies, in many practical cases, the number of machines for a machine type can be limited. This is because the customers may not have multiple machines or they may first plan to install the system for a few machines. Considering these cases, the organizers set the forth requirement and prepared only one section for each machine type.
In summary, we considerd the first-shot problem as the main updates from the task in previous years. The main features in the task this year are that: (1) The set of machine types in the development dataset and evaluation dataset are completely different and (2) Each machine type contains only one section.
Schedule
Based on the DCASE Challenge 2023 schedule, the task important days will be as follows.
- Task open: 1st of March 2023
- Additional training dataset release: 15th of April 2023
- Evaluation dataset release: 1st of May 2023
- External resource list lock: 1st of May 2023
- Challenge deadline: 15th of May 2023
- Challenge results: 31st of May 2023
External resources on the "List of external datasets and models allowed" can be used (cf. external data resource section). List of external datasets and models allowed will be updated upon request. Any external resource which are freely accessed before 15th of April 2023 can be added. Please send a request email to the task organizers. The list will be locked after the release date of evaluation dataset (1st of May 2023). To avoid developing new external resources using machine information in the evaluation dataset, we will release the additional training dataset after 15th of April 2023. Note that the additional training dataset contains matching training data of machines used in the evaluation dataset (cf. dataset section).
Audio datasets
Dataset overview
Three datasets (development dataset, additional training dataset, and evaluation dataset) are provided for this task.
The development dataset consists of normal/anomalous operating sounds of seven types of machines. Each recording is a single-channel 10-sec length audio clip that includes both the sounds of the target machine and environmental sounds. The following seven types of machines are used:
- Fan
- Gearbox
- Bearing
- Slide rail
- Toy car
- Toy train
- Valve
The additional training and evaluation datasets also consist of normal/anomalous operating sounds of machines, but the sets of machine types are completely different from the development dataset.
The datasets consist of sounds from seven types of real/toy machines. Each recording is single-channel audio, including a machine's operating sound and environmental noise. The duration of recordings varies from 6 to 18 sec, depending on the machine type. The following seven types of real/toy machines are used in this task:
- Vacuum
- ToyTank
- ToyNscale
- ToyDrone
- bandsaw
- grinder
- shaker
Figure 2 shows an overview of the datasets for development, additional training, and evaluation. Each dataset consists of several types of machines, and each type of machine consists of one “section”.
Definition
We first define the key terms in this task: "machine type," "section," "source domain," "target domain," and "attributes."
- "Machine type" indicates the type of machine, which in the development dataset is one of seven: fan, gearbox, bearing, slide rail, valve, ToyCar, and ToyTrain.
- A section is defined as a subset of the dataset for calculating performance metrics.
- The source domain is the domain under which most of the training data and some of the test data were recorded, and the target domain is a different set of domains under which some of the training data and some of the test data were recorded. There are differences between the source and target domains in terms of operating speed, machine load, viscosity, heating temperature, type of environmental noise, signal-to-noise ratio, etc.
- Attributes are parameters that define states of machines or types of noise.
Development, additional training, and evaluation datasets
Our entire dataset consists of three datasets:
1. Development dataset: This dataset consists of seven machine types. For each machine type, one section is provided, and the section is a complete set of training and test data. For each section, this dataset provides (i) 990 clips of normal sounds in the source domain for training, (ii) ten clips of normal sounds in the target domain for training, and (iii) 100 clips each of normal and anomalous sounds for the test. The source/target domain of each sample is provided. Additionally, the attributes of each sample in the training and test data are provided in the file names and attribute csv files.
2. Additional training dataset: This dataset also consists of several machine types, but the set of machine types are completely different from the development dataset. This dataset also provides one section for each machine type. Each section consists of (i) 990 clips of normal sounds in the source domain for training and (ii) ten clips of normal sounds in a target domain for training. The domain of each sample and attributes are provide. Participants may also use this dataset for training. The additional training dataset will be open on April 15th.
3. Evaluation dataset: This dataset provides test clips for the sections in the additional training dataset. Each section has 200 test clips, none of which have a condition label (i.e., normal or anomaly) or information about the domain to which it belongs (i.e., source or target). Attributes are not provided. The additional training dataset will be open on May 1st.
File names and attribute csv files
File names and attribute csv files provide reference labels for each clip. The given reference labels for each training/test clip include machine type, section index, normal/anomaly information, and attributes regarding the condition other than normal/anomaly. The machine type is given by the directory name. The section index is given by their respective file names. For the datasets other than the evaluation dataset, the normal/anomaly information and the attributes are given by their respective file names. Attribute csv files are for easy access to attributes that cause domain shifts. In these files, the file names, name of parameters that cause domain shifts (domain shift parameter, dp), and the value or type of these parameters (domain shift value, dv) are listed. Each row takes the following format:
[filename (string)], [d1p (string)], [d1v (int | float | string)], [d2p], [d2v]...
Recording procedure
Normal/anomalous operating sounds of machines and its related equipment are recorded. Anomalous sounds were collected by deliberately damaging target machines. For simplifying the task, we use only the first channel of multi-channel recordings; all recordings are regarded as single-channel recordings of a fixed microphone. We mixed a target machine sound with environmental noise, and only noisy recordings are provided as training/test data. The environmental noise samples were recorded in several real factory environments. We will publish papers on the dataset to explain the details of the recording procedure by the submission deadline.
Short description of each section in the development dataset
Short descriptions of each section in the development dataset and the attribute format in the file names of their training data are as follows:
Machine type | Section | Description | Attribute format in file names of training data |
ToyCar | 00 | Car model, speed, and mic variations between domains. | car_<car_model>_spd(speed)_<speed_level_times_10>_mic_<microphone_number> |
ToyTrain | 00 | Train model, speed, and mic variations between domains. | car_<train_model>_spd(speed)_<speed_level>_mic_<microphone_number> |
Fan | 00 | Mixing of different machine sound between domains. | m-n(machine-noise)_<machine_index> |
Gearbox | 00 | Different operation voltage and weight attached to the box between domains. | volt(voltage)_<voltage>_wt(weight)_<weight> |
Bearing | 00 | Different rotation velocity and location of the microphonebetween domains. | vel(velocity)_<velocity>_loc(location of the microphone)_<location> |
Slide rail | 00 | Different operation velocity and acceleration between domains. | vel(velocity)_<velocity>_ac(acceleration)_<acceleration> |
Valve | 00 | Open/close operation patterns varies between domains. | pat(pattern)_<pattern_index> |
Short description of attributes in the additional training dataset
Short descriptions of attributes in the additional training dataset are as follows:
Machine type | Description of machine type | Description of domain shifts | Attribute format in file names of training data |
Vacuum | Vacuum cleaners | Vacuum cleaner model, speed, and mic variations. | car_<vacuum_model>_spd(speed)_<speed_level>_mic_<microphone_number> |
ToyTank | Toy tanks | Tank model, speed, and mic variations. | car_<tank_model>_spd(speed)_<speed_level>_mic_<microphone_number> |
ToyNscale | Toy N scale model trains | Train model, speed, and mic variations. | car_<train_model>_spd(speed)_<speed_level>_mic_<microphone_number> |
ToyDrone | Toy drones | Drone model, speed, and mic variations. | car_<drone_model>_spd(speed)_<speed_level>_mic_<microphone_number> |
bandsaw | A band saw | Operational speed variations. | wt(weight)_<weight> |
grinder | A grinding machine | Different grindstones and metal plates for grinding | id(machine ID)_<machine ID> |
shaker | A shaking machine | Operational speed variations. | vel(velocity)_<velocity> |
External data resources
Based on the past DCASE's external data resource policy, we allow the use of external datasets and trained models under the following conditions:
- Any test data in both development and evaluation datasets shall not be used for training.
- Any data in ToyADMOS, ToyADMOS2, MIMII Dataset, MIMII DUE Dataset, MIMII DG Dataset, the dataset of DCASE 2020 Challenge Task 2 , the dataset of DCASE 2021 Challenge Task 2 , and the dataset of DCASE 2022 Challenge Task 2 shall not be used.
- Datasets, pre-trained models, and pre-trained parameters on the "List of external data resources allowed" can be used. The list will be updated upon request. Datasets, pre-trained models, and pre-trained parameters, which are freely accessible by any other research group before 15th of April 2023, can be added to the list.
- To add sources of external datasets, pre-trained models, or pre-trained parameters to the list, send a request to the organizers by the evaluation set publishing date. To give an equal opportunity to use them for all competitors, we will update the "list of external data resources allowed" on the web page accordingly.
- Once the evaluation set is published, no further external sources will be added. The list will be locked after 1st of May 2023.
List of external data resources allowed:
Dataset name | Type | Added | Link |
---|---|---|---|
IDMT-ISA-ELECTRIC-ENGINE | audio | 15.03.2022 | https://www.idmt.fraunhofer.de/en/publications/isa-electric-engine.html |
AudioSet | audio | 15.03.2022 | https://research.google.com/audioset/ |
VGGish | model | 15.03.2022 | https://github.com/tensorflow/models/tree/master/research/audioset/vggish |
OpenL3 | model | 15.03.2022 | https://openl3.readthedocs.io/en/latest/ |
PANNs | model | 15.03.2022 | https://zenodo.org/record/3576403/ |
PyTorch Image Models (including tens of pre-trained models) | model | 15.03.2022 | https://github.com/rwightman/pytorch-image-models |
torchvision.models (including tens of pre-trained models) | model | 15.03.2022 | https://pytorch.org/vision/stable/models.html |
Meta AI pre-trained models on Hugging Face (including hundreds of pre-trained models) | model | 10.04.2023 | https://huggingface.co/facebook |
Meta AI datasets on Hugging Face (including 8 datasets) | audio | 10.04.2023 | https://huggingface.co/facebook |
Fairseq pre-trained models (including tens of pre-trained models) | model | 10.04.2023 | https://github.com/facebookresearch/fairseq/tree/main/examples |
UniSpeech | model | 10.04.2023 | https://github.com/microsoft/UniSpeech |
AudioLDM | model | 20.04.2023 | https://zenodo.org/record/7813012 |
Download
Task setup and rules
Participants are required to submit both an anomaly score and a normal/anomaly decision result for each test clip. The anomaly score for each test clip will be used to calculate the area under the receiver operating characteristic (ROC) curve (AUC) and partial-AUC (pAUC) scores, which are used to calculate an official score and a final ranking. The normal/anomaly decision result for each test clip is used to calculate the precision, recall, and F1 scores, which will also be published when the challenge results are open. The method of evaluation is described in the Evaluation section.
The anomaly score takes a large value when the input signal seems to be anomalous, and vice versa. To calculate the anomaly score, participants need to train an anomaly score calculator \(\mathcal{A}\) with parameter \(\theta\). The input of \(\mathcal{A}\) is a machine's operating sound \(x \in \mathbb{R}^L\) and its machine information including machine type, section index, and other attribute information, and \(\mathcal{A}\) outputs one anomaly score for the whole audio clip \(x\) as \(\mathcal{A}_\theta (x) \in \mathbb{R}\). Then, \(x\) is determined to be anomalous when the anomaly score exceeds a pre-defined threshold value. Thus, \(\mathcal{A}\) needs to be trained so that \(\mathcal{A}_\theta(x)\) will be a large value both when the whole audio clip \(x\) is anomalous and when a part of \(x\) is anomalous, such as with collision anomalous sounds.
Figure 3 shows the overview of this task, where the example is a procedure for calculating the anomaly scores of the test clips of (fan, section 00, target domain). First, the participants train an anomaly score calculator \(\mathcal{A}\) using training data both in the source and target domains and optional external data resources. Then, by using \(\mathcal{A}\), participants calculate anomaly scores of all the test clips of (fan, section 00, target domain). By repeating this procedure, participants calculate the anomaly score of all the test clips of all the machine types, sections, and domains.
Arbitral numbers of an anomaly score calculator \(\mathcal{A}\) can be used to calculate the anomaly scores of test clips. The simplest strategy is to use a single \(\mathcal{A}\) to calculate the anomaly scores for a single section (e.g., section 00). In this case, \(\mathcal{A}\) is specialized to a single section, so users of such a system are required to train \(\mathcal{A}\) for each machine type, each product, and each condition. A more challenging strategy is to use a single \(\mathcal{A}\) to calculate the anomaly scores of all the test clips of all the machine types and sections. The advantage of this strategy is that participants can use all the training clips provided; however, they need to consider the generalization of the model. Another typical scenario that can be inspired by real-world applications is where you train a general model only with the source-domain data. The task organizers do not impose this constraint but would appreciate participants’ efforts to impose constraints on themselves based on various real-world applications.
All training data with arbitrary splitting can be used to train an anomaly score calculator. For example, to train \(\mathcal{A}\) to calculate the anomaly score of (valve, section 00, source domain), participants can opt to use training data only in (valve, section 00, source domain), training data in both the source domain and target domains, training data of all sections of valves, all provided training data, and/or other strategies. Of course, normal/anomalous clips in test data cannot be used for training; however, simulating anomalous samples using the listed external data resources is allowed.
Changing the model (model/architecture/hyperparameters) between machine types within a single submission is allowed. However, we expect participants to develop a simple ASD system, (i.e. keep the model and hyperparameters fixed and only change the training data to adapt to each machine type).
Submission
The official challenge submission consists of:
- System output for the evaluation data
- Meta information files
System output should be presented as a text-file that corresponds to each machine type, section index. Its file name should be:
- Anomaly score file:
anomaly_score_<machine_type>_section_<section_index>.csv
- Detection result file:
decision_result_<machine_type>_section_<section_index>.csv
The anomaly score file (in CSV format, without header row) contains the anomaly score for each audio file in the test data of the evaluation dataset. Result items can be in any order. All rows must be in the following format:
[filename (string)],[anomaly score (real value)]
Anomaly scores in the second column can take a negative value. For example, typical auto-encoder-based anomaly score calculators use the squared reconstruction error, which takes a non-negative value, while statistical model-based methods (such as GMM) use the negative log-likelihood as the anomaly score, which can take both positive and negative values.
The decision result file (in CSV format, without header row) contains the normal/anomaly decision result for each audio file in the test data of the evaluation dataset. Result items can be in any order. All rows must be the following format:
[filename (string)],[decision result (0: normal, 1: anomaly)]
We allow up to four system output submissions per participant/team. For each system, meta information should be provided in a separate file that contains the task-specific information. All files should be packaged into a zip file for submission. Detailed information on the submission process can be found on the Submission page.
Evaluation
Metrics
This task is evaluated with the AUC and the pAUC. The pAUC is an AUC calculated from a portion of the ROC curve over the pre-specified range of interest.
Because the anomaly detector is expected to work with the same threshold regardless of the domain, data from both domains in a section are used to calculate the AUC and pAUC. Also, in order to evaluate the detection performance for each domain, the AUC is calculated for each domain. The AUC for each machine type, section, and domain (source/target) and the pAUC for each machine type and section are defined as
where \(m\) represents the index of a machine type, \(n\) represents the index of a section, \(d = \{ {\rm source}, {\rm target} \}\) represents a domain, \(\lfloor \cdot \rfloor\) is the flooring function, and \(\mathcal{H} (x)\) returns 1 when \(x\) > 0 and 0 otherwise. Here, \(\{x_{i}^{−}\}_{i=1}^{N^{-}_{d}}\) is normal test clips in the domain \(d\) in the section \(n\) in the machine type \(m\) and \(\{x_{j}^{+}\}_{j=1}^{N^{+}_{n}}\) is anomalous test clips in the section \(n\) in the machine type \(m\), respectively, and they have been sorted so that their anomaly scores are in descending order. Here, \(N^{-}_{d}\) is the number of normal test clips in the domain \(d\) in the section \(n\) in the machine type \(m\), \(N^{-}_{n}\) are the number of normal test clips in the section \(n\) in the machine type \(m\), and \(N^{+}_{n}\) is the number of anomalous test clips in the section \(n\) in the machine type \(m\), respectively.
In our metric, the pAUC is calculated as the AUC over a low false-positive-rate (FPR) range \([0, p]\). The reason for the additional use of the pAUC is based on practical requirements. If an ASD system frequently gives false alarms, we cannot trust it. Therefore, it is especially important to increase the true-positive-rate under low FPR conditions. In this task, we will use \(p=0.1\).
The official score \(\Omega\) for each submitted system is given by the harmonic mean of the AUC and pAUC scores over all the machine types, sections, and domains as follows:
where \(h\left\{\cdot\right\}\) represents the harmonic mean (over all machine types, sections, and domains), \(\mathcal{M}\) represents the set of the machine types, and \(\mathcal{S}(m)\) represents the set of the sections for the machine type \(m\).
As the equations above show, a threshold value does not need to be determined to calculate AUC, pAUC, or the official score because the threshold value is the anomaly scores of normal test clips. However, in real applications, the threshold value must be determined, and a decision must be made as to whether it is normal or anomalous. Therefore, participants are also required to submit the normal/anomaly decision results. The organizers will publish the AUC, pAUC, and official scores as well as the precision, recall, and F1-scores calculated for the normal/anomaly decision results.
Note: The submitted normal/anomaly decision results will not be used for the final ranking because the task organizers do not want to encourage participants to use a forbidden approach (i.e., threshold tuning based on the distribution in the evaluation dataset). Do not use other test clips to determine anomalies for each test clip.
Ranking
The final ranking will be decided by sorting based on the official score \(\Omega\).
Ground truth labels and evaluator for evaluation dataset
The dcase2023_task2_evaluator includes the ground truth labels and it calculates the AUC, pAUC, precision, recall, and F1 scores from the anomaly score list for the evaluation dataset.
Results
Rank | Submission Information | Evaluation Dataset | Development Dataset | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Submission Code |
Technical Report |
Official Rank |
Official Score |
ToyDrone (AUC) |
ToyDrone (pAUC) |
ToyNscale (AUC) |
ToyNscale (pAUC) |
ToyTank (AUC) |
ToyTank (pAUC) |
Vacuum (AUC) |
Vacuum (pAUC) |
Bandsaw (AUC) |
Bandsaw (pAUC) |
Grinder (AUC) |
Grinder (pAUC) |
Shaker (AUC) |
Shaker (pAUC) |
ToyCar (AUC) |
ToyCar (pAUC) |
ToyTrain (AUC) |
ToyTrain (pAUC) |
Bearing (AUC) |
Bearing (pAUC) |
Fan (AUC) |
Fan (pAUC) |
Gearbox (AUC) |
Gearbox (pAUC) |
Slider (AUC) |
Slider (pAUC) |
Valve (AUC) |
Valve (pAUC) |
|
DCASE2023_baseline_task2_MAHALA | DCASE2023baseline2023 | 24 | 61.05082186925268 ± 0.0015218757062443913 | 58.93 | 51.42 | 50.73 | 50.89 | 57.89 | 53.84 | 86.84 | 65.32 | 69.10 | 57.54 | 60.19 | 59.55 | 72.28 | 62.33 | 59.20 | 49.18 | 48.73 | 48.05 | 59.77 | 50.68 | 61.89 | 58.42 | 71.58 | 54.84 | 79.25 | 56.18 | 53.74 | 51.28 | |
Du_NERCSLIP_task2_2 | DuNERCSLIP2023 | 19 | 61.765486226672074 ± 0.0017959994163787177 | 58.06 | 51.47 | 86.84 | 65.37 | 61.29 | 57.58 | 82.05 | 60.84 | 47.58 | 49.92 | 49.06 | 49.21 | 93.24 | 80.78 | 68.86 | 59.47 | 68.47 | 51.63 | 84.62 | 76.68 | 89.21 | 77.32 | 81.68 | 66.53 | 97.66 | 90.16 | 92.66 | 85.37 | |
He_XJU_task2_4 | HeXJU2023 | 74 | 48.17910227573888 ± 0.0014803390407048121 | 39.26 | 50.11 | 51.79 | 52.74 | 47.34 | 50.37 | 48.34 | 52.53 | 36.68 | 49.55 | 65.85 | 58.46 | 47.06 | 49.51 | 44.14 | 75.00 | 54.06 | 49.36 | 67.04 | 56.78 | 46.83 | 47.84 | 53.77 | 52.73 | 92.79 | 83.42 | 44.28 | 52.21 | |
Lv_HUAKONG_task2_4 | LvHUAKONG2023 | 2 | 66.38618902139308 ± 0.001763447255809211 | 54.84 | 49.37 | 82.71 | 57.00 | 74.80 | 63.79 | 93.66 | 87.42 | 58.48 | 50.30 | 66.69 | 61.22 | 74.24 | 65.24 | 65.47 | 49.47 | 64.82 | 49.32 | 78.80 | 62.26 | 65.97 | 56.32 | 82.28 | 62.47 | 94.74 | 76.68 | 73.66 | 53.68 | |
Jiang_THUEE_task2_1 | JiangTHUEE2023 | 4 | 65.40305914562828 ± 0.0016954969066200025 | 55.83 | 49.74 | 73.44 | 61.63 | 63.03 | 59.74 | 81.98 | 76.42 | 71.10 | 56.64 | 62.18 | 62.41 | 75.99 | 64.68 | 58.40 | 50.37 | 49.77 | 48.32 | 66.15 | 51.84 | 88.20 | 76.32 | 76.38 | 57.68 | 88.27 | 66.37 | 67.90 | 53.58 | |
JiaJun_HFUU_task2_3 | JiaJunHFUU2023 | 27 | 59.539455870919 ± 0.0017136456379770644 | 43.91 | 48.79 | 83.60 | 64.53 | 53.54 | 55.63 | 79.38 | 73.95 | 71.25 | 57.83 | 59.03 | 55.84 | 55.92 | 49.32 | 48.90 | 48.68 | 51.28 | 49.10 | 68.18 | 52.00 | 80.58 | 61.89 | 84.92 | 65.31 | 95.10 | 89.57 | 81.82 | 55.84 | |
Zhang_DKU_task2_2 | ZhangDKU2023 | 57 | 53.943211217441004 ± 0.001648641037227489 | 58.31 | 52.37 | 75.26 | 64.11 | 37.34 | 52.68 | 43.69 | 56.00 | 55.42 | 55.05 | 63.06 | 57.10 | 58.23 | 50.72 | 52.78 | 51.79 | 55.46 | 54.74 | 61.64 | 56.84 | 68.82 | 58.11 | 74.70 | 65.89 | 92.64 | 69.89 | 67.48 | 49.26 | |
Zhou_SHNU_task2_3 | ZhouSHNU2023 | 10 | 63.64485714595981 ± 0.0017183511378647829 | 61.10 | 55.74 | 62.23 | 52.11 | 68.66 | 59.53 | 77.05 | 63.53 | 69.13 | 51.99 | 69.04 | 61.51 | 68.83 | 55.94 | 61.90 | 51.05 | 57.18 | 48.36 | 63.39 | 51.26 | 74.13 | 63.78 | 65.22 | 54.78 | 77.07 | 53.26 | 52.48 | 51.00 | |
Zhang_BIT_task2_1 | ZhangBIT2023 | 28 | 59.48866414964231 ± 0.001496880906985829 | 52.05 | 51.89 | 62.01 | 57.21 | 64.18 | 57.32 | 56.81 | 60.47 | 62.03 | 50.09 | 61.76 | 61.32 | 71.55 | 61.06 | 52.10 | 63.75 | 59.65 | 55.80 | 58.50 | 63.50 | 72.80 | ||||||||
Liu_CQUPT_task2_1 | LiuCQUPT2023 | 44 | 56.00318391857601 ± 0.0017690559303198009 | 48.33 | 48.79 | 63.51 | 55.53 | 55.68 | 57.84 | 43.63 | 57.74 | 55.53 | 51.54 | 69.44 | 62.70 | 65.54 | 60.40 | 58.54 | 48.47 | 62.40 | 49.74 | 70.68 | 61.68 | 59.66 | 51.73 | 74.24 | 56.89 | 92.02 | 68.11 | 68.34 | 53.36 | |
Atmaja_AIST_task2_4 | AtmajaAIST2023 | 50 | 55.0920471984782 ± 0.0013534875706585426 | 55.55 | 54.00 | 50.32 | 53.00 | 54.35 | 51.84 | 74.99 | 64.11 | 53.39 | 50.31 | 48.09 | 48.29 | 63.21 | 54.28 | 56.55 | 48.79 | 56.26 | 50.16 | 50.51 | 50.71 | 50.01 | 51.37 | 58.59 | 50.87 | 51.85 | 50.71 | 48.06 | 49.97 | |
Wilkinghoff_FKIE_task2_1 | WilkinghoffFKIE2023 | 5 | 64.91145175990695 ± 0.0017818544158040373 | 53.90 | 50.21 | 87.14 | 76.58 | 63.43 | 62.21 | 83.26 | 74.00 | 66.06 | 52.87 | 67.10 | 62.11 | 65.91 | 50.24 | 60.66 | 48.00 | 58.12 | 48.37 | 75.48 | 51.42 | 80.22 | 52.32 | 82.66 | 65.21 | 94.02 | 72.68 | 88.98 | 55.62 | |
Jiang_PSH_task2_2 | JiangPSH2023 | 47 | 55.61393665575548 ± 0.001453889360427255 | 57.66 | 50.68 | 58.27 | 56.11 | 48.60 | 57.05 | 70.54 | 66.74 | 47.05 | 48.24 | 63.93 | 56.18 | 54.66 | 49.72 | 52.97 | 51.68 | 55.25 | 52.42 | 64.03 | 51.79 | 51.17 | 55.37 | 78.20 | 54.00 | 96.37 | 83.26 | 61.39 | 54.47 | |
Wu_qdreamer_task2_3 | Wuqdreamer2023 | 29 | 59.262985023209346 ± 0.001379038594802009 | 45.85 | 52.53 | 79.02 | 60.26 | 69.46 | 57.89 | 56.76 | 65.26 | 55.48 | 50.81 | 60.25 | 54.21 | 69.44 | 58.87 | 67.49 | 49.89 | 61.95 | 53.53 | 74.63 | 52.11 | 73.19 | 63.21 | 75.79 | 65.58 | 83.87 | 62.53 | 67.40 | 57.68 | |
Xiao_NJUPT_task2_1 | XiaoNJUPT2023 | 38 | 57.61233604271262 ± 0.00148382196939156 | 65.63 | 50.89 | 59.59 | 52.21 | 68.27 | 57.68 | 55.90 | 63.05 | 53.97 | 48.72 | 58.29 | 58.16 | 57.78 | 50.77 | 63.22 | 53.31 | 62.05 | 63.24 | 65.28 | 56.28 | 70.36 | 59.78 | 74.53 | 70.82 | 85.69 | 70.19 | 72.85 | 57.13 | |
Jie_IESEFPT_task2_2 | JieIESEFPT2023 | 1 | 66.96865050141963 ± 0.00180162797332972 | 58.03 | 51.58 | 89.03 | 77.74 | 60.33 | 61.53 | 96.18 | 85.32 | 65.66 | 53.35 | 66.63 | 62.45 | 68.08 | 55.97 | 57.68 | 42.73 | 56.56 | 47.47 | 73.84 | 51.31 | 86.96 | 61.22 | 82.13 | 63.43 | 97.12 | 82.81 | 93.38 | 73.02 | |
Gou_UESTC_task2_3 | GouUESTC2023 | 73 | 48.68995653342131 ± 0.0015180040461601286 | 42.32 | 48.47 | 56.72 | 50.11 | 43.96 | 54.47 | 41.29 | 49.42 | 55.72 | 52.61 | 48.24 | 49.51 | 51.59 | 49.14 | 50.82 | 51.00 | 51.48 | 49.68 | 54.94 | 51.26 | 62.13 | 49.84 | 56.42 | 54.11 | 72.76 | 75.63 | 47.36 | 52.26 | |
Tanaka_GU_task2_3 | TanakaGU2023 | 49 | 55.25265431943579 ± 0.0013817138477153071 | 37.89 | 48.21 | 60.97 | 52.74 | 69.38 | 59.11 | 59.42 | 62.84 | 52.13 | 51.25 | 60.02 | 55.39 | 60.33 | 58.62 | 56.44 | 49.58 | 60.98 | 50.11 | 63.36 | 54.42 | 47.60 | 58.32 | 58.96 | 51.58 | 57.50 | 58.95 | 47.26 | 50.11 | |
Fujimura_NU_task2_1 | FujimuraNU2023 | 54 | 54.70129260730897 ± 0.0017335695817680035 | 33.60 | 49.32 | 71.36 | 61.47 | 57.96 | 54.47 | 58.38 | 61.37 | 59.03 | 53.75 | 61.81 | 61.08 | 52.00 | 59.84 | 60.70 | 51.53 | 61.16 | 48.58 | 65.60 | 56.26 | 72.32 | 70.32 | 82.78 | 64.26 | 96.14 | 80.53 | 97.62 | 78.95 | |
Bai_JLESS_task2_3 | BaiJLESS2023 | 6 | 64.10430038433627 ± 0.0015312095360472697 | 51.44 | 50.89 | 59.85 | 51.16 | 70.05 | 59.58 | 81.46 | 69.47 | 74.51 | 55.65 | 67.07 | 63.03 | 78.30 | 63.37 | 62.47 | 49.96 | 53.89 | 48.16 | 62.95 | 51.79 | 84.85 | 68.30 | 75.31 | 56.21 | 83.31 | 55.11 | 53.97 | 50.95 | |
Guan_HEU_task2_4 | GuanHEU2023 | 14 | 63.50321347349609 ± 0.0016921801501565013 | 62.93 | 52.05 | 68.94 | 54.21 | 66.41 | 60.63 | 79.47 | 72.47 | 57.22 | 50.76 | 62.38 | 54.96 | 78.46 | 61.47 | 63.04 | 50.21 | 56.96 | 48.95 | 67.71 | 54.84 | 66.97 | 56.05 | 79.49 | 60.58 | 91.91 | 71.05 | 89.35 | 60.05 | |
Hauser_JKU_task2_1 | HauserJKU2023 | 86 | 41.40741259250251 ± 0.001374452454520565 | 40.70 | 48.47 | 36.58 | 48.74 | 37.85 | 50.32 | 25.95 | 47.89 | 52.84 | 51.26 | 41.91 | 49.08 | 44.11 | 48.23 | 46.18 | 48.91 | 49.33 | 49.53 | 40.02 | 49.34 | 48.18 | 58.11 | 43.10 | 49.76 | 52.08 | 51.57 | 64.38 | 58.85 | |
LEE_KNU_task2_2 | LEEKNU2023 | 84 | 44.231914616941665 ± 0.00130457675996216 | 40.03 | 50.21 | 42.70 | 51.58 | 38.82 | 51.68 | 35.20 | 49.53 | 43.53 | 47.37 | 46.42 | 48.50 | 49.01 | 52.08 | 46.38 | 51.47 | 47.74 | 48.27 | 70.84 | 50.58 | 65.31 | 52.16 | 78.20 | 51.58 | 82.07 | 51.90 | 97.06 | 97.57 | |
QianXuHu_BITNUDT_task2_3 | QianXuHuBITNUDT2023 | 31 | 59.06204701591861 ± 0.0015102887361449933 | 57.76 | 53.00 | 46.69 | 51.53 | 64.75 | 59.42 | 72.73 | 62.58 | 63.37 | 53.03 | 57.77 | 59.02 | 69.93 | 55.41 | 59.69 | 51.16 | 60.55 | 48.84 | 59.66 | 51.21 | 71.96 | 64.32 | 73.46 | 58.89 | 78.89 | 59.42 | 65.05 | 55.00 |
Complete results and technical reports can be found at results page.
Baseline system
The task organizers provide two baseline systems that give a reasonable performance in the dataset of Task 2. They are good starting points, especially for entry-level researchers who want to get familiar with the ASD task.
Autoencoder-based baseline with two operating modes
The baseline system is based on the Autoencoder of DCASE 2022 Challenge Task 2. It is an example of the inlier modeling (IM)-based detector that models the distribution of inlier samples. However, the DCASE2023T2 baseline has two different operating modes:
+ Simple autoencoder mode
+ Selective Mahalanobis mode
For the details, see https://arxiv.org/abs/2303.00455.
Simple Autoencoder mode
The anomaly score is calculated as the reconstruction error of the observed sound. To obtain small anomaly scores for normal sounds, the AE is trained to minimize the reconstruction error of the normal training data. This method is based on the assumption that the AE cannot reconstruct sounds that are not used in training, that is unknown anomalous sounds.
In the baseline system, we first calculate the log-mel-spectrogram of the input \(X = \{X_t\}_{t = 1}^T\) where \(X_t \in \mathbb{R}^F\), and \(F\) and \(T\) are the number of mel-filters and time-frames, respectively. Then, the acoustic feature at \(t\) is obtained by concatenating consecutive frames of the log-mel-spectrogram as \(\psi_t = (X_t, \cdots, X_{t + P - 1}) \in \mathbb{R}^D\), where \(D = P \times F\), and \(P\) is the number of frames of the context window. The anomaly score is calculated as:
where \(r_{\theta}\) is the vector reconstructed by the autoencoder, and \(\| \cdot \|_2\) is \(\ell_2\) norm.
To determine the anomaly detection threshold, we assume that \(A_{\theta}\) follows a gamma distribution. The parameters of the gamma distribution are estimated from the histogram of \(A_{\theta}\), and the anomaly detection threshold is determined as the 90th percentile of the gamma distribution. If \(A_{\theta}\) for each test clip is greater than this threshold, the clip is judged to be abnormal; if it is smaller, it is judged to be normal.
Selective Mahalanobis mode
The anomaly score is calculated as the reconstruction error of the observed sound in the Mahalanobis metric with the covariance matrixes calculated after the last epoch of the training phase.
Parameters
The basic architecture and parameters are the same for both modes, simple autoencoder mode and selective Mahalanobis mode.
Acoustic features
- The frame size for STFT is 64 ms (50 % hop size)
- Log-mel energies for 128 (\(= F\)) bands
- 5 (\(= P\)) consecutive frames are concatenated.
- 640 (\(= D = P \times F\)) dimensions are input to the autoencoder.
Network Architecture
- Input shape: 640
- Architecture:
- Dense layer #1
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Dense layer #2
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Dense layer #3
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Dense layer #4
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Bottleneck layer
- Dense layer (units: 8)
- Batch Normalization
- Activation (ReLU)
- Dense layer #5
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Dense layer #6
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Dense layer #7
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Dense layer #8
- Dense layer (units: 128)
- Batch Normalization
- Activation (ReLU)
- Output layer
- Dense layer (units: 640)
- Dense layer #1
- Learning (epochs: 100, batch size: 256, data shuffling between epochs)
- Optimizer: Adam (learning rate: 0.001)
Repository
Detailed information can be found in the GitHub repository. The directory structure is briefly described here as a reference for label information. When you unzip the files downloaded from the GitHub repository and Zenodo, you can see the following directory structure. As described in the Dataset section, the machine type information is given by directory name, and the section index, domain, and condition information are given by file name, as:
- dcase2023_task2_baseline_ae
- datasets/
- networks/
- results/
- tools/
- 01_train.sh
- 02a_test.sh
- 03_summarize_results.sh
- baseline.yaml
- common.py
- data_download_2023dev.sh
- LISENCE.py
- README.md
- requirements.txt
- test_ae.sh
- train_ae.sh
- train.py
- data/dcase2023t2/dev_data/raw/
- fan/
- train (only normal clips)
- section_00_source_train_normal_0000_.wav
- ...
- section_00_source_train_normal_0989_.wav
- section_00_target_train_normal_0000_.wav
- ...
- section_00_target_train_normal_0009_.wav
- test/
- section_00_source_test_normal_0000_.wav
- ...
- section_00_source_test_normal_0049_.wav
- section_00_source_test_anomaly_0000_.wav
- ...
- section_00_source_test_anomaly_0049_.wav
- section_00_target_test_normal_0000_.wav
- ...
- section_00_target_test_normal_0049_.wav
- section_00_target_test_anomaly_0000_.wav
- ...
- section_00_target_test_anomaly_0049_.wav
- attributes_00.csv (attributes csv for section 00)
- gearbox/ (The other machine types have the same directory structure as fan.)
- data/dcase2023t2/eval_data/raw/
/ - train/ (after launch of the additional training dataset)
- section_00_source_train_normal_0000_.wav
- ...
- section_00_source_train_normal_0989_.wav
- section_00_target_train_normal_0000_.wav
- ...
- section_00_target_train_normal_0009_.wav
- test/
- section_00_source_test_normal_0000_.wav
- ...
- section_00_source_test_normal_0049_.wav
- section_00_source_test_anomaly_0000_.wav
- ...
- section_00_source_test_anomaly_0049_.wav
- section_00_target_test_normal_0000_.wav
- ...
- section_00_target_test_normal_0049_.wav
- section_00_target_test_anomaly_0000_.wav
- ...
- section_00_target_test_anomaly_0049_.wav
- test/ (after launch of the evaluation dataset)
- section_00_test_0000.wav
- ...
- section_00_test_0199.wav
- attributes_00.csv (attributes csv for section 00)
/ (The other machine types have the same directory structure as /.)
Results with the development dataset
We evaluated the AUC and pAUC on the development dataset using several types of GPUs (RTX 2080, etc.). Because the results produced with a GPU are generally non-deterministic, the average and standard deviations from these five independent trials (training and testing) are shown in the following table.
ToyCar MSE MAHALA |
AUC_source (Ave.) 70.1 % 74.53 % |
AUC_source (Std.) 0.46 % 1.55 % |
AUC_target (Ave.) 46.89 % 43.42 % |
AUC_target (Std.) 2.67 % 2.53 % |
pAUC (Ave.) 52.47 % 49.18 % |
pAUC (Std.) 1.28 % 0.49 % |
ToyTrain MSE MAHALA |
AUC_source (Ave.) 57.93 % 55.98 % |
AUC_source (Std.) 2.12 % 2.41 % |
AUC_target (Ave.) 57.02 % 42.45 % |
AUC_target (Std.) 0.79 % 1.06 % |
pAUC (Ave.) 48.57 % 48.13 % |
pAUC (Std.) 0.32 % 0.17 % |
bearing MSE MAHALA |
AUC_source (Ave.) 65.92 % 65.16 % |
AUC_source (Std.) 0.73 % 0.76 % |
AUC_target (Ave.) 55.75 % 55.28 % |
AUC_target (Std.) 0.76 % 0.57 % |
pAUC (Ave.) 50.42 % 51.37 % |
pAUC (Std.) 0.79 % 0.81 % |
fan MSE MAHALA |
AUC_source (Ave.) 80.19 % 87.1 % |
AUC_source (Std.) 2.43 % 2.2 % |
AUC_target (Ave.) 36.18 % 45.98 % |
AUC_target (Std.) 3.71 % 4.43 % |
pAUC (Ave.) 59.04 % 59.33 % |
pAUC (Std.) 1.24 % 0.9 % |
gearbox MSE MAHALA |
AUC_source (Ave.) 60.31 % 71.88 % |
AUC_source (Std.) 0.56 % 0.66 % |
AUC_target (Ave.) 60.69 % 70.78 % |
AUC_target (Std.) 0.63 % 0.62 % |
pAUC (Ave.) 53.22 % 54.34 % |
pAUC (Std.) 0.6 % 0.3 % |
slider MSE MAHALA |
AUC_source (Ave.) 70.31 % 84.02 % |
AUC_source (Std.) 0.2 % 1.1 % |
AUC_target (Ave.) 48.77 % 73.29 % |
AUC_target (Std.) 0.12 % 0.6 % |
pAUC (Ave.) 56.37 % 54.72 % |
pAUC (Std.) 0.31 % 0.25 % |
valve MSE MAHALA |
AUC_source (Ave.) 55.35 % 56.31 % |
AUC_source (Std.) 1.18 % 1.38 % |
AUC_target (Ave.) 50.69 % 51.4 % |
AUC_target (Std.) 1.12 % 0.4 % |
pAUC (Ave.) 51.18 % 51.08 % |
pAUC (Std.) 0.35 % 0.13 % |
Citation
If you are participating in this task or using the MIMII DG, ToyADMOS2, and baseline code, please cite the following four papers.
Task description paper
Kota Dohi, Keisuke Imoto, Noboru Harada, Daisuke Niizumi, Yuma Koizumi, Tomoya Nishida, Harsh Purohit, Ryo Tanabe, Takashi Endo, and Yohei Kawaguchi. Description and discussion on DCASE 2023 challenge task 2: first-shot unsupervised anomalous sound detection for machine condition monitoring. In arXiv e-prints: 2305.07828, 2023.
Description and Discussion on DCASE 2023 Challenge Task 2: First-Shot Unsupervised Anomalous Sound Detection for Machine Condition Monitoring
Dataset papers
Noboru Harada, Daisuke Niizumi, Daiki Takeuchi, Yasunori Ohishi, Masahiro Yasuda, and Shoichiro Saito. ToyADMOS2: another dataset of miniature-machine operating sounds for anomalous sound detection under domain shift conditions. In Proceedings of the Detection and Classification of Acoustic Scenes and Events Workshop (DCASE), 1–5. Barcelona, Spain, November 2021.
ToyADMOS2: Another Dataset of Miniature-Machine Operating Sounds for Anomalous Sound Detection under Domain Shift Conditions
Abstract
This paper proposes a new large-scale dataset called “ToyADMOS” for anomaly detection in machine operating sounds (ADMOS). As with our previous ToyADMOS dataset, we collected a large number of operating sounds of miniature machines (toys) under normal and anomaly conditions by deliberately damaging them, but extended them in this case by providing a controlled depth of damages in the anomaly samples. Since typical application scenarios of ADMOS require robust performance under domain-shift conditions, the ToyADMOS2 dataset is designed for evaluating systems under such conditions. The released dataset consists of two sub-datasets for machine-condition inspection: fault diagnosis of machines with geometrically fixed tasks and fault diagnosis of machines with moving tasks. Domain shifts are represented by introducing several differences in operating conditions, such as the use of the same machine type but with different models and parts configurations, operating speeds, microphone arrangements, etc. Each subdataset contains over 27 k samples of normal machine-operating sounds and over 8 k samples of anomalous sounds recorded with five to eight microphones. The dataset is freely available for download at https://github.com/nttcslab/ToyADMOS2-dataset and https://doi.org/10.5281/zenodo.4580270.
Kota Dohi, Tomoya Nishida, Harsh Purohit, Ryo Tanabe, Takashi Endo, Masaaki Yamamoto, Yuki Nikaido, and Yohei Kawaguchi. MIMII DG: sound dataset for malfunctioning industrial machine investigation and inspection for domain generalization task. In Proceedings of the 7th Detection and Classification of Acoustic Scenes and Events 2022 Workshop (DCASE2022). Nancy, France, November 2022.
MIMII DG: Sound Dataset for Malfunctioning Industrial Machine Investigation and Inspection for Domain Generalization Task
Abstract
We present a machine sound dataset to benchmark domain generalization techniques for anomalous sound detection (ASD). Domain shifts are differences in data distributions that can degrade the detection performance, and handling them is a major issue for the application of ASD systems. While currently available datasets for ASD tasks assume that occurrences of domain shifts are known, in practice, they can be difficult to detect. To handle such domain shifts, domain generalization techniques that perform well regardless of the domains should be investigated. In this paper, we present the first ASD dataset for the domain generalization techniques, called MIMII DG. The dataset consists of five machine types and three domain shift scenarios for each machine type. The dataset is dedicated to the domain generalization task with features such as multiple different values for parameters that cause domain shifts and introduction of domain shifts that can be difficult to detect, such as shifts in the background noise. Experimental results using two baseline systems indicate that the dataset reproduces domain shift scenarios and is useful for benchmarking domain generalization techniques.